找回密码
 会员注册
查看: 31|回复: 0

python爬取豆瓣影评保存到Excel文件中附源码

[复制链接]

2万

主题

0

回帖

7万

积分

超级版主

积分
72131
发表于 2024-9-8 17:39:59 | 显示全部楼层 |阅读模式
欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 【往期相关文章】爬取豆瓣电影排行榜Top250存储到Excel文件中爬取豆瓣电影排行榜TOP250存储到CSV文件中爬取知乎热榜Top50保存到Excel文件中爬取百度热搜排行榜Top50+可视化爬取斗鱼直播照片保存到本地目录爬取酷狗音乐Top500排行榜一、效果图:        以获取电影《肖申克的救赎》的评论为例,写一个爬取豆瓣影评保存到Excel文件中的爬虫程序  二、准备工作(1)、导入必要的模块:    代码首先导入了需要使用的模块:requests、lxml和csv。importrequestsfromlxmlimportetreeimportcsv       如果出现模块报错       进入控制台输入:建议使用国内镜像源pipinstall模块名称-ihttps://mirrors.aliyun.com/pypi/simple        我大致罗列了以下几种国内镜像源:清华大学https://pypi.tuna.tsinghua.edu.cn/simple阿里云https://mirrors.aliyun.com/pypi/simple/豆瓣https://pypi.douban.com/simple/百度云https://mirror.baidu.com/pypi/simple/中科大https://pypi.mirrors.ustc.edu.cn/simple/华为云https://mirrors.huaweicloud.com/repository/pypi/simple/腾讯云https://mirrors.cloud.tencent.com/pypi/simple/三、代码详情importrequestsfrombs4importBeautifulSoupfromopenpyxlimportWorkbook首先,我们导入了三个必要的Python模块:requests、BeautifulSoup和openpyxl。requests用于发送HTTP请求,BeautifulSoup用于解析HTML页面,openpyxl用于生成Excel文件并将影评数据写入到Excel文件中。 defget_reviews(movie_id):url=f'https://movie.douban.com/subject/{movie_id}/comments?status=P'headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58.0.3029.110Safari/537.3'}response=requests.get(url,headers=headers)soup=BeautifulSoup(response.text,'html.parser')reviews=soup.find_all('span',class_='short')return[review.get_text()forreviewinreviews]'运行运行        定义一个名为`get_reviews()`的函数,它接受一个参数movie_id,该参数表示电影在豆瓣网站上的唯一标识符。该函数使用f-string构建了影评页面的URL,并设置了请求头`headers`来伪装成浏览器访问方式。然后使用requests库发送GET请求获取页面内容。接着使用BeautifulSoup库解析HTML页面,并使用CSS选择器定位到影评所在的元素。最后,将影评内容提取出来并返回一个包含影评文本的列表。        defsave_to_excel(reviews):workbook=Workbook()sheet=workbook.activesheet['A1']='影评'fori,reviewinenumerate(reviews,start=2):sheet[f'A{i}']=reviewworkbook.save('reviews.xlsx')'运行运行        定义一个名为`save_to_excel()`的函数,它接受一个参数`reviews`,表示要保存的影评列表。函数使用openpyxl库创建一个新的Excel工作簿,并获取工作簿的活动工作表。然后,将影评列表中的每个影评逐行写入Excel工作表的列A中。最后,使用save()方法将工作簿保存为名为"reviews.xlsx"的Excel文件。        if__name__=='__main__':movie_id='1292052'#肖申克的救赎的电影IDreviews=get_reviews(movie_id)save_to_excel(reviews)print('影评已保存到reviews.xlsx文件中。')        主程序代码,首先指定了要获取影评的电影ID(在豆瓣电影网址中可以找到)。然后,调用`get_reviews()`函数获取影评列表,再将该列表传递给`save_to_excel()`函数进行保存。最后,打印提示信息,表示影评已成功保存到Excel文件中。部分代码:importrequestsfrombs4importBeautifulSoupfromopenpyxlimportWorkbookdefget_reviews(movie_id):url=f'https://movie.douban.com/subject/{movie_id}/comments?status=P'headers={'User-Agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/58.0.3029.110Safari/537.3'}response=requests.get(url,headers=headers)soup=BeautifulSoup(response.text,'html.parser')reviews=soup.find_all('span',class_='short')return[review.get_text()forreviewinreviews]完整代码:        资料获取,更多粉丝福利,关注下方公众号获取,直接搜索“英杰代码编程”       回复"python影评",“豆瓣影评”,“爬取豆瓣影评”均可获取完整代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-11 02:00 , Processed in 3.072317 second(s), 32 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表