豆瓣告诉你《扫黑风暴》如何短评爬取+词云
Posted 小董同学啊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了豆瓣告诉你《扫黑风暴》如何短评爬取+词云相关的知识,希望对你有一定的参考价值。
完成目标:
使用爬虫对电视剧《扫黑风暴》的豆瓣评论进行抓取,并对制作词云。
一、前言
最近一部《扫黑风暴》可谓是掀起来了一波追剧狂潮,讲述了中央扫黑除恶督导组进驻中江省绿藤市,将黑恶势力及保护伞成功抓获的故事。
全员演技在线,故事悬疑,均根据真实案件改编,惊悚又令人上头!今天我们就通过抓取豆瓣最近的短评,进行词云分析看看观众们对这部电视剧的评价究竟如何?
二、环境准备
编辑器:pycharm
用到的库:requests、lxml、numpy、wordcloud、jieba
三、具体实现
1.短评获取并保存
打开豆瓣关于此剧的评论,网页采用静态加载,仔细观察url、具有一定规律.
start 代表上一页评论的最后一个的序号
limit 代表一页显示20条评论。
第一页:https://movie.douban.com/subject/35202793/comments?start=0&limit=20&status=P&sort=new_score
第二页:https://movie.douban.com/subject/35202793/comments?start=20&limit=20&status=P&sort=new_score
def get_remark():
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/92.0.4515.159 Safari/537.36 Edg/92.0.902.78"
}
fp = open("short.txt", "w", encoding="utf-8") # 将短评保存到txt文件中
for i in range(11):
# 构建每页url
url = f'https://movie.douban.com/subject/35202793/comments?start={i * 20}&limit=20&status=P&sort=new_score'
# print(url) 用于测试
html = requests.get(url=url, headers=headers).text
# 使用lxml对页面进行短评提取
tree = etree.HTML(html)
short_list = tree.xpath('//p[@class=" comment-content"]//span/text()')
# 将评论写入文件,一行一个
for short in short_list:
fp.write(short + "\\n")
部分评论如下:
2.词云制作
首先准备好停用词表,过于掉虚词
def stopwordslist():
stopwords = [line.strip() for line in open('Chinesestopword.txt', encoding='UTF-8').readlines()]
return stopwords
进行词云制做
def word_cloud():
text = open("short.txt", "r", encoding='utf-8').read()
sep_list = jieba.lcut(text) # jieba分词
stopwords = stopwordslist()
outstr = ''
for word in sep_list:
if word not in stopwords:
if word != '\\t':
outstr += word
outstr += " "
wcd = wordcloud.WordCloud(
font_path="simkai.ttf"# 设置字体 , background_color="white"
, colormap="brg" # 设置字体颜色
, repeat=True # 词语重复
, scale=16 # 得到高清图
)
wcd.generate(outstr) # 生成词云
wcd.to_file("short.png") # 保存到本地
3 成果
四、最后
打从《扫黑风暴》开播,一种说法早已成潮:孙红雷,演技差评。一看评论,多半是质疑他在戏中的表演过于浮夸,动不动憨笑令人出戏,结论也明摆着:“孙式综艺套路笑,瞬间让李成阳人设崩塌。” 那么在你看来,孙红雷在这部剧演技到底如何?
以上是关于豆瓣告诉你《扫黑风暴》如何短评爬取+词云的主要内容,如果未能解决你的问题,请参考以下文章
“太敢拍了!”20万条弹幕告诉你,《扫黑风暴》为何能掀起收视热潮?