Python3.6+jieba+wordcloud 爬取豆瓣影评生成词云
在上一篇介绍了如何通过Python爬虫抓取豆瓣电影榜单。Python3.6+Beautiful Soup+csv 爬取豆瓣电影Top250
此篇博客主要抓取豆瓣某个电影的影评,利用jieba分词和wordcloud词云生成影评词云。
下文以电影无名之辈为例:https://movie.douban.com/subject/27110296/comments?start=0&limit=20&sort=new_score&status=P
0. 依赖包
- 中文分词:
pip install jieba
- 词云:
pip install wordcloud
- 绘图:
pip install matplotlib
1. 分析翻页
url = 'https://movie.douban.com/subject/%s/comments?start=%s&limit=20&sort=new_score&status=P&percent_type=' \% (movie_id, (i - 1) * 20)
其中i代表当前页码,从0开始。
2. 获取影评
分析源码,可以看到评论在div[id=‘comments’]下的div[class=‘comment-item’]中的第一个span[class=‘short’]中,即代码为:
soup = BeautifulSoup(req)comment_div_list = soup.select('#comments .comment-item')for comment_div in comment_div_list:print(comment_div.select('.short')[0].text)
3. 使用jieba分词和wordcloud词云
def wordcloud(comment_list):wordlist = jieba.lcut(''.join(comment_list))text = ' '.join(wordlist)print(text)wordcloud = WordCloud(font_path="./simkai.ttf", # 字体需下载到本地,不引入会出现乱码,色彩图块等异常,可替换其他中文字体库background_color="white",max_font_size=80,stopwords=STOPWORDS,width=1000,height=860,margin=2, ).generate(text)plt.imshow(wordcloud)plt.axis("off")plt.show()
关于jieba分词:https://github.com/fxsjy/jieba
关于wordcloud词云:https://www.datacamp.com/community/tutorials/wordcloud-python
字体文件:https://cs.fit.edu/code/projects/ndworld/repository/changes/Resources/Fonts/simkai.ttf?rev=11
4. 效果
5. 完整代码
import requests
import jieba
import matplotlib.pyplot as pltfrom wordcloud import WordCloud, STOPWORDS
from bs4 import BeautifulSoupdef spider_comment(movie_id, page):"""爬取评论:param movie_id: 电影ID:param page: 爬取前N页:return: 评论内容"""comment_list = []for i in range(page):url = 'https://movie.douban.com/subject/%s/comments?start=%s&limit=20&sort=new_score&status=P&percent_type=' \% (movie_id, (i - 1) * 20)req = requests.get(url).contentsoup = BeautifulSoup(req)comment_div_list = soup.select('#comments .comment-item')for comment_div in comment_div_list:comment_list.append(comment_div.select('.short')[0].text)print("当前页数:%s,总评论数:%s" % (i, len(comment_list)))return comment_listdef wordcloud(comment_list):wordlist = jieba.lcut(' '.join(comment_list))text = ' '.join(wordlist)print(text)wordcloud = WordCloud(font_path="./simkai.ttf",background_color="white",max_font_size=80,stopwords=STOPWORDS,width=1000,height=860,margin=2, ).generate(text)plt.imshow(wordcloud)plt.axis("off")plt.show()# 主函数
if __name__ == '__main__':movie_id = '27110296'page = 10comment_list = spider_comment(movie_id, page)wordcloud(comment_list)
Python3.6+jieba+wordcloud 爬取豆瓣影评生成词云相关推荐
- python爬取豆瓣影评生成词云的课程设计报告_Python爬取豆瓣影评,生成词云图,只要简单一步即可实现。...
最近看了一部电影<绣春刀>,里面的剧情感觉还不错,本文爬取的是绣春刀电影的豆瓣影评,1000个用户的短评,共5W多字.用jieba分词,对词语的出现频率进行统计,再通过wordcloud生 ...
- python爬取豆瓣影评生成词云的课程设计报告_简单爬取《小丑》电影豆瓣短评生成词云...
导语 在前段时间看了杰昆菲尼克斯的小丑电影,心里很好奇大部分观众看完这部电影之后对此有什么评价,然后看了看豆瓣短评之后,觉得通过python把短评中出现最多的单词提取出来,做成一张词云,看看这部电影给 ...
- python爬取微博数据词云_用Python爬取微博数据生成词云图片
原标题:用Python爬取微博数据生成词云图片 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业智能BI.大数 ...
- 爬虫爬取新闻并生成词云
爬取豆瓣应用的函数同样可以用来爬取新闻.这里面主要是正则表达式的提取和对爬出的链接再进行爬取解析.对网页不 import re # 正则 from bs4 import BeautifulSoup # ...
- 爬取唐诗宋词生成词云
Python 高并发线程爬取诗词之诗词分析 本节所讲内容: 1.5分钟快速了解爬虫概念 2.beautifulsoup 匹配原则 3.wordcloud 使用详情 实战:爬取中国唐诗宋词,体验文人雅士 ...
- #私藏项目实操分享#Python爬虫实战,requests+xpath模块,Python实现爬取豆瓣影评
前言 利用利用requests+xpath爬取豆瓣影评,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: requests模块: jieba模块: pandas模 ...
- Python爬虫实战,requests+xpath模块,Python实现爬取豆瓣影评
前言 利用利用requests+xpath爬取豆瓣影评,废话不多说. 让我们愉快地开始吧~ 开发工具 **Python版本:**3.6.4 相关模块: requests模块: jieba模块: pan ...
- 利用Requests库和正则表达式爬取豆瓣影评Top250
说明 最近看了下爬虫基础,想写个博客来记录一下,一来是可以方便和我一样刚入门的小白来参考学习,二来也当做自己的笔记供自己以后查阅. 本文章是利用python3.6和Requests库(需自行安装,cm ...
- 爬虫实战2(上):爬取豆瓣影评
这次我们将主要尝试利用python+requsets模拟登录豆瓣爬取复仇者联盟4影评,首先让我们了解一些模拟登录相关知识补充.本文结构如下: request模块介绍与安装 get与post方式介 ...
最新文章
- 【opus源码分析】【互相关函数源码分析】xcorr_kernal_c
- JQuery 实现 锚点跳转
- 程序员最后可能的出路
- jenkins中通过Publish Over SSH将项目部署到远程机器上
- 什么是重构,什么不是重构
- P5290 [十二省联考2019]春节十二响
- java xml签名_Java使用DSA密钥对生成XML签名的方法
- swift - scrollview 判断左右移动, 以及上下两个view联动
- Linux下怎么使用任务管理器和真人接口源码出售进程管理
- android安卓源码海量项目合集打包-1
- java王者荣耀英雄代码_王者荣耀英雄代码在哪个文件夹_王者荣耀英雄代码大全...
- 同步 IO 和异步 IO
- CAPL学习之路-CAN有关的CAPL函数
- F28335学习之ADC配置
- 【JavaScript】打印星型金字塔
- aven 项目 pom.xml 第一行报错 Unknow。。。。。。。解决办法
- 物联网:可穿戴设备与世界杯球员
- IntelliJ IDEA默认的keymap设置是哪个?
- vs2008,2010,2012安装包下载
- 【codeforces 794B】Cutting Carrot
热门文章
- 微贷七年之痒:重线下、追科技、争存量,能否赢未来?
- 比赛得分java_(比赛)得分:_____
- HBuilderX连接苹果手机iPhone预览移动端页面
- android 忘记密码代码,Android-忘记签名文件的密码怎么办
- 英特尔OneAPI介绍
- 台式计算机中远程登录在哪里,电脑如何进行远程连接
- Windows11创建删除账户以及用户权限的相关问题
- linux怎么上网登录窗,Debian的登录窗口和inkscape的使用
- 电商时代得流量者得天下,思域流量要怎么做
- Proe Creo 二次开发之模型装配--在指定位置插入模型