如何基于Python爬取隐秘的角落评论

时间:2021-05-23

“一起去爬山吧?”

这句台词火爆了整个朋友圈,没错,就是来自最近热门的《隐秘的角落》,豆瓣评分8.9分,好评不断。

感觉还是蛮不错的。同时,为了想更进一步了解一下小伙伴观剧的情况,永恒君抓取了爱奇艺平台评论数据并进行了分析。下面来做个分享,给大伙参考参考。

1、爬取评论数据

因为该剧是在爱奇艺平台独播的,自然数据源从这里取比较合适。永恒君爬取了《隐秘的角落》12集的从开播日6月16日-6月26日的评论数据。

使用 Chrome 查看源代码模式,在播放页面往下面滑动,有一个 get_comments 的请求,经过调试分析,这个接口就是获取评论数据的接口,后面连接上一系列的参数即可获取评论的数据。

其中关键的就是last_id这个参数,是用来控制评论分页的,需要通过上一个页面最后一条评论的id来进行获取。

爬虫部分代码

def get_comment_html(movieId, movieName, lastId):#将获取评论的json源码,保存到txt文件中 url = "http://sns-comment.iqiyi.com/v3/comment/get_comments.action?" params = { "types":"time", "business_type":"17", "agent_type":"118", "agent_version":"9.11.5", "authcookie":"authcookie" } for item in params: url = url + item + "=" + params[item] + "&" url = url + "content_id=" + movieId+ "&last_id=" + lastId #url 为拼接好的评论地址 headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36", "Accept": "application/json, text/javascript", "Referer": "https://ment_word_group(x))#评论字数分组lengthData = df.groupby(['留言数量组别'])["留言内容"].count()#评论字数分组统计from pyecharts.charts import Bar ##导入需要使用的图表from pyecharts import options as opts ##导入配置项attr = ["10字以内","10~30字","30~50字","50字以上"] #X轴v1 = lengthData.values.tolist() #Y轴bar1=( Bar(init_opts=opts.InitOpts(width='800px', height='350px')) ##定义为柱状图 .add_xaxis(attr) ##X轴的值 .add_yaxis('评论数量',v1) ##y的值和y的一些数据配置项 .set_global_opts(title_opts=opts.TitleOpts(title='《隐秘的角落》评论字数分布')) ) bar1.render("bar.html") ###输出html文件

绝大部分的评论字数都是在10个字以内,但也有约25%的评论字数在10-30个之内,还是让永恒君有点意外,是否说明该剧火爆也是有原因的,激起了不少伙伴的共鸣。

6)评论核心关键词

最后,永恒君将通过wordcloud库制作词云来看看,大家对该剧的整体评价,以及该剧的核心关键词。

#词云from PIL import Imagefrom wordcloud import WordCloud,ImageColorGenerator,STOPWORDSimport jiebaimport matplotlib.pyplot as pltimport numpy as npcontents = df["留言内容"].str.cat(sep=" ")contentssw = set(STOPWORDS)sw.add("这个")sw.add("什么")cut_text2 = " ".join(jieba.lcut(contents))background_image = np.array(Image.open("bg.png"))wc = WordCloud(font_path=r'C:\Windows\Fonts\simhei.ttf', background_color='White', max_words=3000, width=1000, height=500, scale=1, stopwords=sw,#停用词 mask = background_image )#font_path:设置字体,max_words:出现的最多词数量,mask参数=图片背景,必须要写上,另外有mask参数再设定宽高是无效的wc.generate(cut_text2)wc.to_file("a2.jpg")#将图绘制出来plt.imshow(wc)plt.axis("off") plt.show()

可以看到,“朝阳”、“严良”、“张东升”、“普普”、“好看”、“喜欢”、“小孩”、“原著”等关键词都是大伙在热议的。

不得不说,近年来如此火热的、而且质量不错的国产剧确实不多了。永恒君看前几集的时候,突然又有大学时候看《越狱》的那个味道,看了一集就想看下一集,停不下来。

如果你现在还没有来得及看,建议抽个时间去看看吧~~~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章