python爬取豆瓣电影评论_Python爬取豆瓣电影的短评数据并进行词云分析处理

原标题:Python爬取豆瓣电影的短评数据并进行词云分析处理

a811b023f8d5493d8a143231294931e9.jpeg

前言

对于爬虫很不陌生,而爬虫最为经典的案例就是爬取豆瓣上面的电影数据了,今天小编就介绍一下如果爬取豆瓣上面电影影评,以《我不是药神》为例。

基本环境配置

版本:Python3.6

系统:Windows

本人对于Python学习创建了一个小小的学习圈子,为各位提供了一个平台,大家一起来讨论学习Python。欢迎各位到来Python学习群:960410445一起讨论视频分享学习。Python是未来的发展方向,正在挑战我们的分析能力及对世界的认知方式,因此,我们与时俱进,迎接变化,并不断的成长,掌握Python核心技术,才是掌握真正的价值所在。

相关模块:

(1)requests:用来简单数据请求。

(2)lxml:比BeautiSoup更快更强的解析库。

(3)pandas:数据处理神器。

(4)time:设置爬虫访问间隔。

(5)random:生成随机数,配合time使用。

(6)tqdm:显示程序运行进度。

以上模块如果你没有安装可以在cmd命令提示符里进行pip install + 模块名 进行安装。

主要思路步骤

1、打开豆瓣电影《我不是药神》的短评网页,右键检查或者按F12,然后选择用户名和评论就会显示出对应的代码部分

3ab0edaadc344ae98934649b72102455.jpeg正在上传...

取消

2、通过requests模块发送一个get请求,并以utf-8重新编码;

3、添加一个交互,判断是否成功获取到资源(状态码为200),输出获取状态。

对于爬取下来《我不是药神》的短评内容,我们用lxml来进行解析。在步骤1中找到对应部分的代码,然后右键选择Copy,再选择Copy XPath,就能获取其路径了。

注意:

爬取下来的短评首尾可能有多余的空格,我们就需要使用字符串中的strip()方法来去掉这些多余的空格。

4、获取到数据之后,我们通过list构造dictionary,然后通过dictionary构造dataframe,并通过pandas模块将数据输出为csv文件

实现代码

199c75b176664955877cb2f6fc85e48c.jpeg

运行结果

c1df126290ab4d6fb77c22f4ddab3fdc.jpeg

a6fab2da571a41ca871f58d25e86f19c.jpeg正在上传...

取消

当然了,如果你想要用这些数据做成词云图,进行数据展示也是可以的。

词云实现代码

责任编辑:

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,做一个基于Jupyter爬取电影评论数据的可视化大屏,需要进行以下步骤: 1. 确定数据来源:可以从爬虫中获取电影评论数据,也可以从文件中读取数据。 2. 确定数据处理方式:对于爬虫获取的数据,需要对其进行清洗和整理,以便进行可视化。可以使用Pandas等库进行数据处理。可以使用jieba库进行中文分词。 3. 确定可视化方式:根据数据的特点和需求,选择适合的可视化方式进行展示。可以使用Matplotlib、Seaborn等库进行数据可视化。 4. 进行大屏展示:将可视化结果呈现在一个大屏幕上,并进行布局、样式调整等操作。 下面是一个简单的示例代码,以从爬虫获取电影评论数据进行可视化为例: ```python # 导入所需的库 import requests import pandas as pd import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt # 爬取数据 url = 'https://movie.douban.com/subject/33420285/comments?status=P' response = requests.get(url) data = response.text # 数据清洗和整理 comments = re.findall('<span class="short">(.*?)</span>', data) comment_list = [] for comment in comments: comment_list.append(comment.strip()) # 中文分词 words = ''.join(comment_list) word_list = jieba.cut(words) # 数据处理 word_count = {} for word in word_list: if len(word) <= 1: continue if word in word_count: word_count[word] += 1 else: word_count[word] = 1 # 生成词云 wc = WordCloud(font_path='simhei.ttf', background_color='white', width=800, height=600, max_words=100).generate_from_frequencies(word_count) # 可视化展示 plt.imshow(wc, interpolation='bilinear') plt.axis('off') plt.show() ``` 以上代码演示了一个简单的电影评论数据可视化过程,实际应用中还需要根据具体需求进行更加复杂的数据处理和可视化操作。同时,大屏展示的实现方式也需要根据具体情况进行选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值