精美词云
《觉醒年代》热评爬取讲解
点击好评
多页爬取讲解
热评爬取分析
一个热评对应一个class值为comment-item
的div标签
所以我们只需获取全部class值为comment-item
的div标签即可获取当前页面全部热评
但是,热评具体又存储在class值为comment-item
div标签下的class值为short
的span标签下
所以我们只需获取全部class值为short
的span标签即可获取当前页面全部热评
spans = data.find_all(class_="short")
for i in spans:
global_text += ",".join(jieba.cut(str(i.text).strip()))
完整代码
import matplotlib.pyplot as plt
import wordcloud
import jieba
from imageio import imread
import requests
from bs4 import BeautifulSoup
global_text = ""
def getDetail(data):
global global_text
data = BeautifulSoup(data,"html.parser")
spans = data.find_all(class_="short")
for i in spans:
global_text += ",".join(jieba.cut(str(i.text).strip())) # 对获取到的热评分词
def toWordCloud():
global global_text
mask = imread("./9.png") #设置背景图
wcd = wordcloud.WordCloud(
font_path="C:\Windows\Fonts\msyh.ttc",
background_color='white', #设置背景颜色
random_state=80, # 颜色种类
mask=mask)
wcd.generate(global_text)
wcd.to_file("res.jpg") #保存为图片
plt.imshow(wcd)
plt.axis('off')
plt.show()
if __name__ == '__main__':
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.64"
}
url = 'https://movie.douban.com/subject/30228394/comments?percent_type=h&start={}&limit=20&status=P&sort=new_score'
for i in range(6,10):
new_url = url.format(i * 20)
response = requests.get(url=url,headers=headers)
response.encoding = 'utf-8'
getDetail(response.text)
toWordCloud()
最后
我是 Code皮皮虾,一个热爱分享知识的 皮皮虾爱好者,未来的日子里会不断更新出对大家有益的博文,期待大家的关注!!!
创作不易,如果这篇博文对各位有帮助,希望各位小伙伴可以==一键三连哦!==,感谢支持,我们下次再见~~~
==分享大纲==</font>
大厂面试题专栏
Java从入门到入坟学习路线目录索引</font>
<font size="5">开源爬虫实例教程目录索引
更多精彩内容分享,请点击 Hello World (●'◡'●)
本文爬虫源码已由 GitHub https://github.com/2335119327/PythonSpider 已经收录(内涵更多本博文没有的爬虫,有兴趣的小伙伴可以看看),之后会持续更新,欢迎Star。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。