豆瓣告诉你《扫黑风暴》如何短评爬取+词云

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万条弹幕告诉你,《扫黑风暴》为何能掀起收视热潮?

python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法

⚡一文告诉你蓬莱阁到底如何⚡

python实例:自动爬取豆瓣读书短评,分析短评内容

Python:爬取豆瓣短评用户数据(城市注册时间发表时间评分评论内容)