excel自动抓取网页数据(豆瓣电影Top250数据并写入Excel用EXCEL提取网页数据…)
优采云 发布时间: 2021-12-04 14:24excel自动抓取网页数据(豆瓣电影Top250数据并写入Excel用EXCEL提取网页数据…)
豆瓣
Python抓取豆瓣电影Top250数据写入Excel
1.爬取目标上的页面网站2. 按照一定的规则提取抓取的数据
create table `tb_movie`( id int(11) primary key auto_increment, title varchar(255), score varchar(255), date varchar(255), region varchar(255), category varchar(255), directorAndActor varchar(255), quote varchar(255), thumbnail varchar(255) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Author : nacker 648959@qq.com # @Time : 2020/3/4 6:25 下午 # @Site : # @File : douban.py # @Software: PyCharm # 1.将目标网站上的页面抓取下来 # 2.将抓取下来的数据根据一定的规则进行提取 import time import requests import xlwt from lxml import etree from MysqlHelper import MysqlHelper headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36', 'Referer': 'https://www.douban.com/', } def get_page_source(url): ''' 获取网页源代码 ''' try: response = requests.get(url, headers=headers) if response.status_code == 200: text = response.text return etree.HTML(text) except requests.ConnectionError: return None def get_movie_info(html): ''' 获取其中一页的数据 ''' if len(html): movies = [] # item节点 items = html.xpath("//div[@class='item']") for index,item in items: # 1.标题 title = item.xpath("..//@alt")[0] # print(title) # 2.分数 rating_num score = item.xpath('..//span[@class="rating_num"]/text()')[0] # print(score) # 3.描述 duration = "" # 4.时间+地区+类别 tempString = item.xpath('div[@class="bd"]/p[@class=""]/text()')[1] tempString = "".join(tempString.split()) temps = tempString.split('/') # print(temps) date = temps[0] # print(year) region = temps[1] # print(region) category = temps[2] # 5.导演+演员 directorAndActorStr = item.xpath('div[@class="bd"]/p[@class=""]/text()')[0] directorAndActorStr = "".join(directorAndActorStr.split()) # print(directorAndActorStr) directorAndActor = directorAndActorStr # 6.图片 thumbnail = item.xpath("..//@src")[0] # print(thumbnail) # 7.quote quote = item.xpath('..//p[@class="quote"]/span/text()') if quote: quote = quote[0] else: quote = "" # print(quote) movie = { 'title': title, 'score': score, 'date' : date, 'region': region, 'category': category, 'directorAndActor': directorAndActor, 'quote' : quote, 'thumbnail': thumbnail } movies.append(movie) return movies def write_movie(list): ''' 写入数据到数据库 ''' for dict in list: sql = 'insert into tb_movie(title,score,date,region,category,directorAndActor,quote,thumbnail) values(%s,%s,%s,%s,%s,%s,%s,%s)' mysqlHelper = MysqlHelper('localhost', 3306, 'douban', 'root', '123456') params = [dict['title'],dict['score'],dict['date'],dict['region'],dict['category'],dict['directorAndActor'],dict['quote'],dict['thumbnail']] # print(params) count = mysqlHelper.insert(sql, params) if count == 1: print(dict) print('--------------------ok--------------------') else: print('--------------------error--------------------') def save_excel(datalist): ''' 将相关数据写入excel中 ''' # 初始化Excel w = xlwt.Workbook() style = xlwt.XFStyle() # 初始化样式 font = xlwt.Font() # 为样式创建字体 font.name = u"微软雅黑" style.font = font # 为样式设置字体 ws = w.add_sheet(u"豆瓣电影Top250", cell_overwrite_ok=True) # 将 title 作为 Excel 的列名 title = u"排行, 电影, 评分, 年份, 地区, 类别, 导演主演, 评价, 图片" title = title.split(",") for i in range(len(title)): ws.write(0, i, title[i], style) # # 开始写入数据库查询到的数据 for i in range(len(datalist)): row = datalist[i] for j in range(len(row)): if row[j]: item = row[j] ws.write(i + 1, j, item, style) # 写文件完成,开始保存xls文件 path = '豆瓣电影Top250.xls' w.save(path) def start_robot(): ''' 开始爬虫 ''' # https: // movie.douban.com / top250?start = 0 & filter = for offset in range(0, 250, 25): url = 'https://movie.douban.com/top250?start=' + str(offset) +'&filter=' item = get_page_source(url) # 获取单页数据 list = get_movie_info(item) # 写数据到数据库 write_movie(list) # 家里网络不好,休眠一会吧,省的被K了 time.sleep(3) else: print('豆瓣top250的电影信息写入完毕') def read_mysql_Data(): sql = 'select * from tb_movie order by id asc' mysqlHelper = MysqlHelper('localhost', 3306, 'douban', 'root', '123456') datalist = mysqlHelper.get_all(sql) return datalist def main(): # 保存到数据库 # start_robot() # 读取数据 datalist = read_mysql_Data() # 写入Excel save_excel(datalist) if __name__ == '__main__': main()
github源码下载
","force_purephv":"0","gnid":"96dbc59fabfd30086","img_data":[{"flag":2,"img":[]}],"novel_author":"","novel_name": "","original":0,"pat":"art_src_6,fts0,sts0","powerby":"pika","pub_time":41,"pure":"","rawurl":""," redirect":0,"rptid":"ca3e6c10d0146325","src":"资深故事","tag":[],"title":"python抓取豆瓣电影Top250数据写入Excel
使用EXCEL提取网页数据... VBA网页提取
4、 弹出“导入数据”对话框,设置好后点击“确定”。5、在 Excel 表格中显示“正在获取数据...”。6、数据采集完成,之前选择的网页内容全部导入到Excel工作表中。
Excel之类的网页数据,应该用什么方法抓取数据?-…… '选项组''按钮。2. 在打开的“导入文本文件”对话框中查找并选择需要导入的文本文件。3. 点击“导入”按钮导入文本文件导入Excel工作表中的数据。
如何使用Excel捕捉网页数据?JSON数据抓取-... 打开Chrome,在拉勾网搜索深圳的“数据分析”位置,使用检查功能查看网页源代码,发现拉勾网有反爬虫机制而job信息不在源码中,而是在JSON文件中,所以我们直接下载JSON,使用字典的方式直接读取数据。在抓取网页时...
Excel获取网页表单数据-...可以通过excel的获取外部数据的功能来实现。具体操作如下:1、选择你要获取数据的网站或站点(不是所有的网站或页面都能获取到你想要的,需要数据),复制完整的网站。2、 打开excel,点击数据标签,选择获取。从网络获取外部数据。站按钮,会打开一个新的网页查询对话框。3、输入刚才复制的net.Address,就会打开对应的net.page。4、根据提示,点击*敏*感*词*小键在你需要的数据表前面,当它变成一个绿色的对勾时,表示它被选中状态。5、 点击导入按钮,在工作表中选择数据的存储位置,然后确认。
EXCEL VBA在多个网页中下载网站表格数据-…… 只需打开一个excel,然后输入以下代码,就可以将网站的内容下载到活动工作表中。至于怎么改成你需要的格式你可以抓取你需要的数据,根据你的需要填表。Sub getdatafromweb() Dim objWeb As QueryTable Dim sWebTable...
亲爱的上帝,我现在有一个紧急的问题。如何抓取网页(多页)中的表格数据?将其导出为excel。网页-... 其实很多采集软件都可以实现这个过程,比如优采云、gooseeker、优采云都可以实现采集,但是都< @优采云和优采云采集是收费的,gooseeker 优采云是免费的,简单易学。如果你不想制定规则,可以在论坛发任务,请人为你制定规则,轻松获取数据
excel如何自动获取网页中的数值-...数据-导入外部数据-新建网页数据-输入数值网页所在的网址,然后选择...
EXCEL VBA在多个网页中下载网站表格数据-...什么意思,我太不明白了,要不要点点什么?请尝试使用sendcommand,可以通过键盘实现
设置好后,点击“确定”。Excel 表显示“正在获取数据...”。数据采集完成,之前选择的网页内容全部导入到Excel工作表中。