成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

爬了《邪不壓正》上萬條網評,告訴你到底值不值得看?

開發 后端 開發工具
萬眾期待的《邪不壓正》已上映有一周多的時間。但上映當日早上開畫 8.2,上映不到一天閃崩到 7.1 的評分好像已經給這部本該大展拳腳的片子,戴上了一個結結實實的囚具。

 萬眾期待的《邪不壓正》已上映有一周多的時間。但上映當日早上開畫 8.2,上映不到一天閃崩到 7.1 的評分好像已經給這部本該大展拳腳的片子,戴上了一個結結實實的囚具。

首日票房雖然過億,卻依舊不敵多日日票房冠軍的《我不是藥神》;難道姜文又搞砸了?不管如何,姜文的電影總能掀起影評人高漲的評論熱情。

接下來,我們將用 Python 爬取貓眼上萬條評論數據來分析,告訴你網友對姜文這部電影的反響究竟如何?

整體思路,將會從數據獲取、數據處理、數據可視化三部曲來進行。

數據獲取

關于如何獲取網頁的數據,我一直推薦三步走:

  • 下載數據
  • 解析數據
  • 保存數據

在下載數據之前,我們看看貓眼官網的網頁結構,看看網友的評論數據接口究竟在哪?

然而,打開貓眼網頁(http://maoyan.com/films/248566)只有寥寥幾個評論。

那么它的數據會不會是通過 Json 格式保存到服務器中呢?無奈只能通過抓包貓眼 App 來找其數據接口。

最后,發現其數據接口為:

http://m.maoyan.com/mmdb/comments/movie/248566.json?_v_=yes&offset=1

其中 258566 屬于電影的專屬 id,offset 代表頁數,如下圖:

最后檢驗,這個接口只給展示 1000 頁數據,如下:

接口找到后,開始寫爬取數據代碼,詳情代碼如下:

  1. import requests 
  2. import json 
  3. import time 
  4. import random 
  5.  
  6. #下載第一頁數據 
  7. def get_one_page(url): 
  8.  headers = { 
  9.    'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36' 
  10.  } 
  11.  response = requests.get(url,headers=headers) 
  12.  if response.status_code == 200: 
  13.    return response.text 
  14.  return None 
  15.  
  16. #解析第一頁數據 
  17. def parse_one_page(html): 
  18.  data = json.loads(html)['cmts'
  19.  for item in data: 
  20.    yield{ 
  21.    'comment':item['content'], 
  22.    'date':item['time'].split(' ')[0], 
  23.    'rate':item['score'], 
  24.    'city':item['cityName'], 
  25.    'nickname':item['nickName'
  26.    } 
  27.  
  28. #保存數據到文本文檔 
  29. def save_to_txt(): 
  30.  for i in range(1,1001): 
  31.    url = 'http://m.maoyan.com/mmdb/comments/movie/248566.json?_v_=yes&offset=' + str(i) 
  32.    html = get_one_page(url) 
  33.    print('正在保存第%d頁。'% i) 
  34.    for item in parse_one_page(html): 
  35.      with open('xie_zheng.txt','a',encoding='utf-8'as f: 
  36.        f.write(item['date'] + ',' + item['nickname'] + ',' + item['city'] + ',' +str(item['rate'])+','+item['comment']+'\n'
  37.    time.sleep(5 + float(random.randint(1, 100)) / 20) 
  38.  
  39. if __name__ == '__main__'
  40.  save_to_txt() 

數據處理

獲取數據后發現,會有一些數據重復,如下圖:

因此需要腳本批量對數據進行去重處理,詳情代碼如下:

  1. def xie_zheng(infile,outfile): 
  2.  infopen = open(infile,'r',encoding='utf-8'
  3.  outopen = open(outfile,'w',encoding='utf-8'
  4.  lines = infopen.readlines() 
  5.  list_l = [] 
  6.  for line in lines: 
  7.    if line not in list_l: 
  8.      list_l.append(line) 
  9.      outopen.write(line) 
  10.  infopen.close() 
  11.  outopen.close() 
  12.  
  13. if __name__ == '__main__'
  14.  xie_zheng('文本原路徑','目標路徑'

每天可以不定時(每隔四五小時獲取一次數據,基本每次可獲取 900 多條數據),最終我獲取到 7/15-7/18 之間上萬條來作為數據集分析。

數據可視化

今天,我們就用 pyecharts 將清理過后的萬條評論數據來實現可視化。

pyecharts 是一個用于生成 Echarts 圖表的類庫。Echarts 是百度開源的一個數據可視化 JS 庫。

用 Echarts 生成的圖可視化效果非常棒,pyecharts 是為了與 Python 進行對接,方便在 Python 中直接使用數據生成圖。(詳情請看:http://pyecharts.org/)

粉絲北上廣及沿海一帶居多

由上圖,可以看出北上廣一帶的用戶相對較多,這些地方的互聯網用戶基數本來就大,同時沿海一代的三四線城市也成為票房貢獻者的一部分。

詳情代碼如下:

  1. from pyecharts import Style 
  2. from pyecharts import Geo 
  3.  
  4. #讀取城市數據 
  5. city = [] 
  6. with open('xie_zheng.txt',mode='r',encoding='utf-8'as f: 
  7.  rows = f.readlines() 
  8.  for row in rows
  9.    if len(row.split(',')) == 5: 
  10.      city.append(row.split(',')[2].replace('\n','')) 
  11.  
  12. def all_list(arr): 
  13.  result = {} 
  14.  for i in set(arr): 
  15.    result[i] = arr.count(i) 
  16.  return result 
  17.  
  18. data = [] 
  19. for item in all_list(city): 
  20.  data.append((item,all_list(city)[item])) 
  21.  style = Style( 
  22.    title_color = "#fff"
  23.    title_pos = "center"
  24.    width = 1200, 
  25.    height = 600, 
  26.    background_color = "#404a59" 
  27.    ) 
  28.  
  29. geo = Geo("《邪不壓正》粉絲人群地理位置","數據來源:戀習Python",**style.init_style) 
  30. attr,value= geo.cast(data) 
  31. geo.add("",attr,value,visual_range=[0,20], 
  32.  visual_text_color="#fff",symbol_size=20, 
  33.  is_visualmap=True,is_piecewise=True,  
  34.  visual_split_number=4) 
  35.  
  36. geo.render() 

評論兩極分化相對嚴重

獲取到近幾日的網友上萬條評論數據后,我們切換到今天主題,看看網友對這部電影究竟評論如何?

我們將數據集中的評論內容提取出來,將評論分詞后制作如下詞云圖:

從詞云中可以看出,排名靠前的熱詞分別是姜文、不錯、好看、彭于晏、劇情、看不懂等。

因此可以看出大家對電影的評價還不錯,同時估計還有一大部分粉絲是專門看國民老公彭于晏的裸奔與八塊腹肌的(哈哈哈)。

[[237441]]

至于劇情方面,相對于《讓子彈飛》,《邪不壓正》用了更“姜文”更癲狂的方式來講了一個相對簡單的故事。

從砰砰砰幾槍打出片名的那一刻起,影片就在一個極度亢奮的節奏之下不停向前推進著,伴隨著應接不暇的戲謔臺詞,姜文無時無刻不在釋放自己的任性,太瘋了,甚至有些極端。

對于普通觀眾來說,太難消化了,上一秒還沒琢磨明白,下一秒又迎來了一個亢奮且莫名的環境和臺詞中(也驗證評論中一部分網友對劇情看不懂的評價)。

[[237442]]

詳情代碼如下:

  1. import pickle 
  2. from os import path 
  3. import jieba 
  4. import matplotlib.pyplot as plt 
  5. from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator 
  6.  
  7. comment = [] 
  8. with open('quan.txt',mode='r',encoding='utf-8'as f: 
  9.  rows = f.readlines() 
  10.  for row in rows
  11.    if len(row.split(',')) == 5: 
  12.      comment.append(row.split(',')[4].replace('\n','')) 
  13.  
  14. comment_after_split = jieba.cut(str(comment),cut_all=False
  15.  
  16. wl_space_split= " ".join(comment_after_split) 
  17. #導入背景圖 
  18. backgroud_Image = plt.imread('C:\\Users\\Administrator\\Desktop\\1.jpg')  
  19. stopwords = STOPWORDS.copy() 
  20. #可以加多個屏蔽詞 
  21. stopwords.add("電影"
  22. stopwords.add("一部"
  23. stopwords.add("一個"
  24. stopwords.add("沒有"
  25. stopwords.add("什么"
  26. stopwords.add("有點"
  27. stopwords.add("這部"
  28. stopwords.add("這個"
  29. stopwords.add("不是"
  30. stopwords.add("真的"
  31. stopwords.add("感覺"
  32. stopwords.add("覺得"
  33. stopwords.add("還是"
  34.  
  35. #設置詞云參數  
  36. #參數分別是指定字體、背景顏色、最大的詞的大小、使用給定圖作為背景形狀  
  37. wc = WordCloud(width=1024,height=768,background_color='white'
  38.  mask=backgroud_Image,font_path="C:\simhei.ttf"
  39.  stopwords=stopwords,max_font_size=400, 
  40.  random_state=50) 
  41. wc.generate_from_text(wl_space_split) 
  42. img_colors= ImageColorGenerator(backgroud_Image) 
  43. wc.recolor(color_func=img_colors) 
  44. plt.imshow(wc) 
  45. plt.axis('off')#不顯示坐標軸   
  46. plt.show() 
  47. #保存結果到本地 
  48. wc.to_file('保存路徑'

一星級影評占比高達 20%

圖中可以看出,五星級比例接近 40%,而一星級比例與四星級比例幾乎差不多,幾乎都為 20%。(備注:一星級數量等于 1 與 0.5 的總和,以此類推)

很明顯,姜文再次掀起了影評人和觀眾的論戰,盡管姜文對影評人并不友好,但影評人還是愿意去袒護姜文。

其實,姜文的電影關鍵在于你期待什么?類型片?姜文拍的從來都不是類型片。

藝術片?姜文電影里的藝術不是一遍就可以看懂的。他的電影就是帶著一種“后搖風格”,濃烈、生猛。

姜文和觀眾都很自我,姜文端著,不肯向市場低頭;觀眾正是因為沒端著,所以看姜文的電影過于疲憊。誰都沒錯,誰都不用救。

詳情代碼如下:

  1. from pyecharts import ThemeRiver 
  2.  
  3. rate = [] 
  4. with open('quan.txt',mode='r',encoding='utf-8'as f: 
  5.  rows = f.readlines() 
  6.  for row in rows
  7.    if len(row.split(',')) == 5: 
  8.      rate.append(row.split(',')[3].replace('\n','')) 
  9.  
  10. print(rate.count('5')+rate.count('4.5')) 
  11. print(rate.count('4')+rate.count('3.5')) 
  12. print(rate.count('3')+rate.count('2.5')) 
  13. print(rate.count('2')+rate.count('1.5')) 
  14. print(rate.count('1')+rate.count('0.5')) 
  15.  
  16. #餅狀圖 
  17. from pyecharts import Pie 
  18. attr = ["五星""四星""三星""二星""一星"
  19.  
  20. #分別代表各星級評論數 
  21. v1 = [3324,1788,1293,553,1653] 
  22. pie = Pie("餅圖-星級玫瑰圖示例", title_pos='center', width=900) 
  23. pie.add("7-17", attr, v1, center=[75, 50], is_random=True
  24.        radius=[30, 75], rosetype='area'
  25.        is_legend_show=False, is_label_show=True
  26.  
  27. pie.render() 

關于《邪不壓正》網友評論數據就分析到此結束!

你覺得《邪不壓正》不好看是對的,因為它太姜文了;你若覺得《邪不壓正》好看也是對的,因為它真的太姜文了。成也姜文,敗也姜文!但這也許就是他孤傲的世界吧。

責任編輯:武曉燕 來源: 自戀習Python
相關推薦

2017-11-27 10:18:57

Python短評sleep

2015-08-14 13:12:20

4G

2023-02-13 13:50:48

研究offer

2021-06-09 07:14:32

數據分析互聯網運營大數據

2019-12-03 14:08:21

iOS 13蘋果升級

2018-07-25 13:47:51

彭于晏邪不壓正Python

2023-03-27 13:52:02

海景房主機桌面

2018-08-22 11:09:33

QLCSSD硬盤

2018-09-05 15:06:00

GTX 1080Ti顯卡NVIDIA

2022-09-15 07:35:28

iOS16iPhone

2017-09-22 12:00:24

Intel8代CPU酷睿處理器

2022-09-07 00:10:11

iOS測試版系統

2020-09-17 09:22:50

iOS 14iPad OS 14蘋果

2021-05-08 23:26:32

大數據薪資工作

2020-02-29 16:00:20

代碼開發程序員

2018-08-27 09:39:33

租房數據北漂

2017-08-21 10:05:57

Python影評 爬蟲

2018-07-22 15:57:00

數據可視化大數據數據分析

2020-03-26 14:09:07

iPad Pro評測評分
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91久久精品日日躁夜夜躁欧美 | 欧美色999 | 成人精品一区二区三区 | 成人毛片视频免费 | 国产乱码精品1区2区3区 | 午夜成人在线视频 | 日日噜噜夜夜爽爽狠狠 | 精品一区二区三区在线观看 | 亚洲男女激情 | 国产日韩精品一区二区 | 亚洲欧美中文日韩在线v日本 | 亚洲一区二区久久 | 搞黄视频免费看 | 日韩一区和二区 | 中文字幕乱码亚洲精品一区 | 欧美激情五月 | 午夜精品网站 | 神马久久久久久久久久 | 欧美日韩国产精品一区二区 | 99精品久久 | 伊人免费在线观看高清 | 日韩国产一区二区三区 | 亚洲国产成人精品在线 | 日本欧美视频 | 国产成视频在线观看 | 中文字幕欧美一区 | 国产一二三区免费视频 | 国产精品不卡一区 | 超碰国产在线 | 在线一级片| 日本精品一区二区在线观看 | 久久新| 在线观看成人小视频 | av一区在线观看 | 亚洲欧洲精品一区 | 日本成人综合 | 九九99九九精彩46 | 日韩欧美视频 | aⅴ色国产 欧美 | 久久久精品一区二区三区 | 成人影院在线视频 |