导语
利用Python爬取并简单分析豆瓣电影短评。
说起来挺逗的,去年爬豆瓣短评的时候还是可以爬个几万条数据的,昨天我还想着终于可以起个唬人的标题了,什么爬取了xxx电影的xxx万条数据。
于是昨晚写了脚本,想着跑个一晚上,大事即可成,未曾想,今早起来才发现,豆瓣现在可机智了,即便是登录用户,你也只能查看500条评论数据,直接从源头上预防了爬虫,白瞎了一晚上的电。T_T
不过有胜于无,数据少是少了点,但还是可以玩一玩的,那么让我们愉快地开始吧~
开发工具
Python版本:3.6.4
相关模块:
jieba模块;
pyecharts模块;
wordcloud模块;
splinter模块;
bs4模块;
以及一些Python自带的模块。
其他:
phantomjs
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
原理简介
主要利用了splinter+bs4爬的豆瓣短评,首先你需要登录豆瓣来保证可以获取所有可见的豆瓣短评(虽然最多也是500条T_T),代码实现如下:
其中验证码需要手动输入,不能自动识别。
接下来就是比较无脑的操作了,访问所有的评论页,提取需要的数据,保存数据。
最后,利用pyecharts、wordcloud等库对保存的数据进行简单的可视化分析。
具体的代码实现请参考相关文件中的源代码。
使用演示
一. 爬取豆瓣短评
修改源代码中对应位置的用户名、密码以及电影短评的链接地址:
在cmd窗口运行“douban.py”文件即可。
视频演示如下:
二. 分析豆瓣短评
在cmd窗口运行“analysis.py”文件即可。
结果展示
以电影“我不是药神”为例。
(1)利用爬取的豆瓣短评生成词云
(2)高频词汇统计
(3)评分分布统计
(4)评论数量与日期的关系
可视化后结果一目了然,我也就不“画蛇添足”地“胡说八道”了。
That's all.
更多
代码截止2018-07-25测试无误。
领取专属 10元无门槛券
私享最新 技术干货