在上一篇介绍了如何通过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 爬取豆瓣影评生成词云相关推荐

  1. python爬取豆瓣影评生成词云的课程设计报告_Python爬取豆瓣影评,生成词云图,只要简单一步即可实现。...

    最近看了一部电影<绣春刀>,里面的剧情感觉还不错,本文爬取的是绣春刀电影的豆瓣影评,1000个用户的短评,共5W多字.用jieba分词,对词语的出现频率进行统计,再通过wordcloud生 ...

  2. python爬取豆瓣影评生成词云的课程设计报告_简单爬取《小丑》电影豆瓣短评生成词云...

    导语 在前段时间看了杰昆菲尼克斯的小丑电影,心里很好奇大部分观众看完这部电影之后对此有什么评价,然后看了看豆瓣短评之后,觉得通过python把短评中出现最多的单词提取出来,做成一张词云,看看这部电影给 ...

  3. python爬取微博数据词云_用Python爬取微博数据生成词云图片

    原标题:用Python爬取微博数据生成词云图片 欢迎关注天善智能 hellobi.com,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习.问答.求职,一站式搞定! 对商业智能BI.大数 ...

  4. 爬虫爬取新闻并生成词云

    爬取豆瓣应用的函数同样可以用来爬取新闻.这里面主要是正则表达式的提取和对爬出的链接再进行爬取解析.对网页不 import re # 正则 from bs4 import BeautifulSoup # ...

  5. 爬取唐诗宋词生成词云

    Python 高并发线程爬取诗词之诗词分析 本节所讲内容: 1.5分钟快速了解爬虫概念 2.beautifulsoup 匹配原则 3.wordcloud 使用详情 实战:爬取中国唐诗宋词,体验文人雅士 ...

  6. #私藏项目实操分享#Python爬虫实战,requests+xpath模块,Python实现爬取豆瓣影评

    前言 利用利用requests+xpath爬取豆瓣影评,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本:3.6.4 相关模块: requests模块: jieba模块: pandas模 ...

  7. Python爬虫实战,requests+xpath模块,Python实现爬取豆瓣影评

    前言 利用利用requests+xpath爬取豆瓣影评,废话不多说. 让我们愉快地开始吧~ 开发工具 **Python版本:**3.6.4 相关模块: requests模块: jieba模块: pan ...

  8. 利用Requests库和正则表达式爬取豆瓣影评Top250

    说明 最近看了下爬虫基础,想写个博客来记录一下,一来是可以方便和我一样刚入门的小白来参考学习,二来也当做自己的笔记供自己以后查阅. 本文章是利用python3.6和Requests库(需自行安装,cm ...

  9. 爬虫实战2(上):爬取豆瓣影评

       这次我们将主要尝试利用python+requsets模拟登录豆瓣爬取复仇者联盟4影评,首先让我们了解一些模拟登录相关知识补充.本文结构如下: request模块介绍与安装 get与post方式介 ...

最新文章

  1. 【opus源码分析】【互相关函数源码分析】xcorr_kernal_c
  2. JQuery 实现 锚点跳转
  3. 程序员最后可能的出路
  4. jenkins中通过Publish Over SSH将项目部署到远程机器上
  5. 什么是重构,什么不是重构
  6. P5290 [十二省联考2019]春节十二响
  7. java xml签名_Java使用DSA密钥对生成XML签名的方法
  8. swift - scrollview 判断左右移动, 以及上下两个view联动
  9. Linux下怎么使用任务管理器和真人接口源码出售进程管理
  10. android安卓源码海量项目合集打包-1
  11. java王者荣耀英雄代码_王者荣耀英雄代码在哪个文件夹_王者荣耀英雄代码大全...
  12. 同步 IO 和异步 IO
  13. CAPL学习之路-CAN有关的CAPL函数
  14. F28335学习之ADC配置
  15. 【JavaScript】打印星型金字塔
  16. aven 项目 pom.xml 第一行报错 Unknow。。。。。。。解决办法
  17. 物联网:可穿戴设备与世界杯球员
  18. IntelliJ IDEA默认的keymap设置是哪个?
  19. vs2008,2010,2012安装包下载
  20. 【codeforces 794B】Cutting Carrot

热门文章

  1. 微贷七年之痒:重线下、追科技、争存量,能否赢未来?
  2. 比赛得分java_(比赛)得分:_____
  3. HBuilderX连接苹果手机iPhone预览移动端页面
  4. android 忘记密码代码,Android-忘记签名文件的密码怎么办
  5. 英特尔OneAPI介绍
  6. 台式计算机中远程登录在哪里,电脑如何进行远程连接
  7. Windows11创建删除账户以及用户权限的相关问题
  8. linux怎么上网登录窗,Debian的登录窗口和inkscape的使用
  9. 电商时代得流量者得天下,思域流量要怎么做
  10. Proe Creo 二次开发之模型装配--在指定位置插入模型