电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

如何基于Python爬取隱秘的角落評論

瀏覽:123日期:2022-07-19 08:16:10

“一起去爬山吧?”

這句臺詞火爆了整個朋友圈,沒錯,就是來自最近熱門的《隱秘的角落》,豆瓣評分8.9分,好評不斷。

如何基于Python爬取隱秘的角落評論

感覺還是蠻不錯的。同時,為了想更進一步了解一下小伙伴觀劇的情況,永恒君抓取了愛奇藝平臺評論數據并進行了分析。下面來做個分享,給大伙參考參考。

1、爬取評論數據

因為該劇是在愛奇藝平臺獨播的,自然數據源從這里取比較合適。永恒君爬取了《隱秘的角落》12集的從開播日6月16日-6月26日的評論數據。

使用 Chrome 查看源代碼模式,在播放頁面往下面滑動,有一個 get_comments 的請求,經過調試分析,這個接口就是獲取評論數據的接口,后面連接上一系列的參數即可獲取評論的數據。

如何基于Python爬取隱秘的角落評論

其中關鍵的就是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://www.iqiyi.com/v_19rxtiliso.html?vfm=2008_aldbd&fv=p_02_01', } response = requests.get(url, headers=headers) filename = movieId + movieName+'.txt' if response.status_code == 200:with open(filename,'a',encoding=’utf-8’) as f: f.write(response.text+'n') #將獲取的評論json源碼保存到txt文件,一次寫入一行,表示獲取的這一頁的評論else: print('request error') print('爬取第{}頁評論'.format(file_lines(filename))) time.sleep(0.5) last_id = parseData(response.text) #解析并獲取下一個id if last_id != 'End': get_comment_html(movieId, movieName, parseData(response.text)) else: print('已到結尾') #continue#結束整個程序 return None

最終將12集爬取下來的包含評論數據的json源碼保存到txt文件當中,解析提取評論的時間、用戶名、性別、評論內容等信息,經過去重、去空白等數據清理工作,最終獲得28010條評論信息。

如何基于Python爬取隱秘的角落評論

2、分析展示數據

在海量的數據中,我們可以分析出我們想看到的結果。為了更好的數據處理和可視化展示,這里永恒君用了Pandas和Pyecharts 這兩個庫。

1)評論用戶性別方面

女生占了大部分,占比60.89%,比男性用戶要多不少。

如何基于Python爬取隱秘的角落評論

2)每一集的評論數量

接下來,我們再來看一下,每一期的評論數量,看是否能夠得出一些不一樣的數據。

from pyecharts.charts import Bar ##導入需要使用的圖表from pyecharts import options as opts ##導入配置項comment_num3 = df['集數'].value_counts().sort_index()x_line3 = comment_num3.index.to_list()y_line3 = comment_num3.values.tolist()bar1=( Bar(init_opts=opts.InitOpts(width=’800px’, height=’350px’)) ##定義為柱狀圖 .add_xaxis(x_line3) ##X軸的值 .add_yaxis(’評論數’,y_line3) ##y的值和y的一些數據配置項 .set_global_opts(title_opts=opts.TitleOpts(title=’《隱秘的角落》1-12集評論數量’)) ) bar1.render('bar3.html') ###輸出html文件

如何基于Python爬取隱秘的角落評論

除了第一集的評論數特別多之外,可以看到,上半段的評論數明顯要比下半段的要多,是否意味著大家普遍覺得前期的要更好看一些?

如何基于Python爬取隱秘的角落評論

3)開播十天之內的評論數量走勢

接下來我們來看看從6月16日開播之后,網友們對該劇的評論數量走勢情況。

from pyecharts.charts import Line ##導入需要使用的圖表from pyecharts import options as opts ##導入配置項comment_num = df['留言時間'].str.split(’ ’).str[0].value_counts().sort_index()x_line1 = [i.replace(’2020-’,’’) for i in comment_num.index.to_list()] y_line1 = comment_num.values.tolist()# 繪制面積圖line1 = Line(init_opts=opts.InitOpts(width=’1200px’, height=’600px’))line1.add_xaxis(x_line1)line1.add_yaxis(’’, y_line1,markpoint_opts=opts.MarkPointOpts(data=[ opts.MarkPointItem(type_=’max’, name=’最大值’), opts.MarkPointItem(type_=’min’, name=’最小值’)])) line1.set_global_opts(title_opts=opts.TitleOpts(’《隱秘的角落》開播10天內評論走勢’), xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=’30’)), #visualmap_opts=opts.VisualMapOpts(max_=12673) ) line1.set_series_opts(label_opts=opts.LabelOpts(is_show=True), linestyle_opts=opts.LineStyleOpts(width=2))line1.render('Line.html')

如何基于Python爬取隱秘的角落評論

可以看到,從6月16日開播后,評論數量一路走高在6月25日達到了一個階段的高點。

4)一天之中大家都在什么時間段看這部劇?

通過統計16日-26日每日0-23時的評論數量,來看看大家一般都在什么時候看劇

from pyecharts.charts import Bar ##導入需要使用的圖表from pyecharts import options as opts ##導入配置項comment_num2 = df['留言時間'].str.split(’ ’).str[1].str.split(':').str[0].value_counts().sort_index()x_line2 = comment_num2.index.to_list()y_line2 = comment_num2.values.tolist()bar1=( Bar(init_opts=opts.InitOpts(width=’800px’, height=’350px’)) ##定義為柱狀圖 .add_xaxis(x_line2) ##X軸的值 .add_yaxis(’評論數’,y_line2) ##y的值和y的一些數據配置項 .set_global_opts(title_opts=opts.TitleOpts(title=’《隱秘的角落》0-23時評論數量’)) ) bar1.render('bar2.html') ###輸出html文件

如何基于Python爬取隱秘的角落評論

可以看到,晚上20點-23時為最集中看劇的時間段,其次中午12-14點也有一波小高峰,總體更多的人是下午看劇的人多。

這是否也是你看劇的時間段呢?

5)評論的字數情況

永恒君一般看劇基本都不寫評論的或者也是簡單幾個字,但是在這里,我特地看了一下評論字數的分布,

def comment_word_group(strings): #評論字數分組函數 if len(strings)<=10: length = 0 elif len(strings) > 10 and len(strings)<=30: length = 1 elif len(strings) >30 and len(strings) <=50: length = 2 else: length = 3 return lengthdf['留言數量組別'] = df['留言內容'].apply(lambda x:comment_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文件

如何基于Python爬取隱秘的角落評論

絕大部分的評論字數都是在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:WindowsFontssimhei.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()

如何基于Python爬取隱秘的角落評論

可以看到,“朝陽”、“嚴良”、“張東升”、“普普”、“好看”、“喜歡”、“小孩”、“原著”等關鍵詞都是大伙在熱議的。

不得不說,近年來如此火熱的、而且質量不錯的國產劇確實不多了。永恒君看前幾集的時候,突然又有大學時候看《越獄》的那個味道,看了一集就想看下一集,停不下來。

如果你現在還沒有來得及看,建議抽個時間去看看吧~~~

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 电镀电源整流器_高频电解电源_单脉双脉冲电源 - 东阳市旭东电子科技 | 氢氧化钾厂家直销批发-济南金昊化工有限公司| 避光流动池-带盖荧光比色皿-生化流动比色皿-宜兴市晶科光学仪器 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 办公室家具公司_办公家具品牌厂家_森拉堡办公家具【官网】 | 餐饮加盟网_特色餐饮加盟店_餐饮连锁店加盟 | 欧洲MV日韩MV国产_人妻无码一区二区三区免费_少妇被 到高潮喷出白浆av_精品少妇自慰到喷水AV网站 | 卓能JOINTLEAN端子连接器厂家-专业提供PCB接线端子|轨道式端子|重载连接器|欧式连接器等电气连接产品和服务 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | 热处理温控箱,热处理控制箱厂家-吴江市兴达电热设备厂 | 电磁辐射仪-电磁辐射检测仪-pm2.5检测仪-多功能射线检测仪-上海何亦仪器仪表有限公司 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 英思科GTD-3000EX(美国英思科气体检测仪MX4MX6)百科-北京嘉华众信科技有限公司 | 刑事律师_深圳著名刑事辩护律师_王平聚【清华博士|刑法教授】 | 聚氨酯保温钢管_聚氨酯直埋保温管道_聚氨酯发泡保温管厂家-沧州万荣防腐保温管道有限公司 | 彼得逊采泥器-定深式采泥器-电动土壤采样器-土壤样品风干机-常州索奥仪器制造有限公司 | 深圳激光打标机_激光打标机_激光焊接机_激光切割机_同体激光打标机-深圳市创想激光科技有限公司 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 【灵硕展览集团】展台展会设计_展览会展台搭建_展览展示设计一站式服务公司 | 泰来华顿液氮罐,美国MVE液氮罐,自增压液氮罐,定制液氮生物容器,进口杜瓦瓶-上海京灿精密机械有限公司 | 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | 精密模具-双色注塑模具加工-深圳铭洋宇通 | 浙江宝泉阀门有限公司| 热镀锌槽钢|角钢|工字钢|圆钢|H型钢|扁钢|花纹板-天津千百顺钢铁贸易有限公司 | 万师讲师网-优质讲师培训师供应商,讲师认证,找讲师来万师 | 时代北利离心机,实验室离心机,医用离心机,低速离心机DT5-2,美国SKC采样泵-上海京工实业有限公司 工业电炉,台车式电炉_厂家-淄博申华工业电炉有限公司 | 中医治疗皮肤病_潍坊银康医院「山东」重症皮肤病救治平台 | 万博士范文网-您身边的范文参考网站Vanbs.com | 青岛侦探_青岛侦探事务所_青岛劝退小三_青岛调查出轨取证公司_青岛婚外情取证-青岛探真调查事务所 | 河南卓美创业科技有限公司-河南卓美防雷公司-防雷接地-防雷工程-重庆避雷针-避雷器-防雷检测-避雷带-避雷针-避雷塔、机房防雷、古建筑防雷等-山西防雷公司 | China plate rolling machine manufacturer,cone rolling machine-Saint Fighter | 361°官方网站| cnc精密加工_数控机械加工_非标平键定制生产厂家_扬州沃佳机械有限公司 | 清水-铝合金-建筑模板厂家-木模板价格-铝模板生产「五棵松」品牌 | 国产液相色谱仪-超高效液相色谱仪厂家-上海伍丰科学仪器有限公司 | 两头忙,井下装载机,伸缩臂装载机,30装载机/铲车,50装载机/铲车厂家_价格-莱州巨浪机械有限公司 | 破碎机锤头_耐磨锤头_合金锤头-鼎成机械一站式耐磨铸件定制服务 微型驱动系统解决方案-深圳市兆威机电股份有限公司 | 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | 沉降天平_沉降粒度仪_液体比重仪-上海方瑞仪器有限公司 | 排烟防火阀-消防排烟风机-正压送风口-厂家-价格-哪家好-德州鑫港旺通风设备有限公司 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 十字轴_十字轴万向节_十字轴总成-南京万传机械有限公司 |