最近看完了口碑大赞的国产科幻电影,感觉非常的不错,刷新了对未来科幻的认知啊。在大饱眼福的同时,也想着大家对这部电影都是怎么评价的呢?
打开豆瓣网,找到电影短评页面,该网页是分页类型的,我打算使用 requests 与 BeautifulSoup 爬取到文本文件中,然后通过 jieba 抽取关键字和生成词云进行可视化展示。
一、requests+BeautifulSoup爬取目标数据
需求分析:
- 目标地址分页展示,每页20条,通过start参数标记;经测试,当爬取到220条之后就需要登录,这里就使用游客身份爬取前220条。
- 先使用requests请求获取到html,再使用BeautifulSoup解析html的数据,最终封装成JSON格式返回。
代码实现:
<1>. 实现获取短评数据的主体方法,流程有获取html网页数据、将html网页数据保存到txt文件、解析html网页数据并以json格式保存等步骤,如下
<2>. 将html网页数据保存到txt文件,如下
<3>. 解析html网页数据,如下
<4>. 以json格式保存数据,如下
需要导入的模块有:
实现效果1:
实现效果2:
接下来,打算使用 jieba 进行分词,并生成词云,看下评论里讨论最多的关键字是什么,由于样本数量有限,只能代表前220条的热门评论哦。
我目的是获取评论内容,而封装成 JSON 格式不利于进行关键词抽取。因此,需要进一步处理,把评论内容按行写入文本文件。写个转换方法,如下:
处理之后,效果如下:
二、使用jieba抽取关键字和生成词云
在之前的 jieba 博文里,介绍过两种抽取关键词的方式,这里使用基于 TextRank 算法的关键词抽取。
实现代码,如下:
需要导入的模块:
生成词云的效果:
本文地址:http://lianchengexpo.xrbh.cn/quote/6883.html 迅博思语资讯 http://lianchengexpo.xrbh.cn/ , 查看更多