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

牛刀小試-《你好,李煥英》影評詞云

大數(shù)據(jù) 數(shù)據(jù)可視化
最近,賈玲導(dǎo)演的電影《你好,李煥英》在春節(jié)檔一眾電影中脫穎而出,成為了一匹黑馬,更是中國影史上第三部票房破50億的電影。我們從豆瓣上看到,該影片當(dāng)前評分是8.1分,接近30%的評價都是5顆星。今天我們就來從豆瓣上爬取一部分影評,結(jié)合jieba和pyecharts做個分詞和詞云圖。

 最近,賈玲導(dǎo)演的電影《你好,李煥英》在春節(jié)檔一眾電影中脫穎而出,成為了一匹黑馬,更是中國影史上第三部票房破50億的電影。


我們從豆瓣上看到,該影片當(dāng)前評分是8.1分,接近30%的評價都是5顆星。今天我們就來從豆瓣上爬取一部分影評,結(jié)合jieba和pyecharts做個分詞和詞云圖。


打開開發(fā)者工具

首先,在豆瓣上找到電影《你好,李煥英》,下拉到影評區(qū),可以看到共有三十多萬條短評和七千多影評。短評數(shù)量太多了,我們還是數(shù)量較少的影評下手吧。接下來,在瀏覽器中按F12或者右鍵點擊檢查打開開發(fā)者工具,然后選擇network(網(wǎng)絡(luò))選項,然后點擊上圖中影評區(qū)的“全部7494條”,就可以在開發(fā)者工具中看到一系列的請求。


尋找目標(biāo)URL


將影評區(qū)拖到最底部,將會看到影評被分成來幾百個頁面,然后我們清空開發(fā)者工具中的捕獲的請求,點擊下一頁,在請求列表中找到第一條,這就是我們翻頁的通用請求了:每頁20條,使用start參數(shù)判斷起始位置,這樣循環(huán)300多次就可以獲取到全部的影評了。

等等,貌似還少了什么?由于影評內(nèi)容較長,評論只顯示了一部分,要想看到全部內(nèi)容,還需要點擊一下展開全文。

點一下展開,發(fā)現(xiàn)瀏覽器發(fā)出一條這樣的請求,剛好返回的json就是完整的評論內(nèi)容。依次點擊后面的幾條影評,也都是同樣格式的請求,只有full前面的數(shù)字發(fā)生了變化,可以斷定這串?dāng)?shù)字就是這條影評的id了。那么如何知道每一條影評的id是什么呢?

檢查目標(biāo)元素

鼠標(biāo)放到展開按鈕上,右鍵點擊檢查元素,我們可以發(fā)現(xiàn),頁面上的每一條影評都對應(yīng)了一個div,這個div有一個data-cid的參數(shù),它的值剛好就是上面我們請求中的id,所以我們只要在每次請求頁面時,遍歷review-list中所有的div,獲取到data-cid的值,再把影評id循環(huán)代入到上面的url中請求完整影評內(nèi)容即可。

爬取完影評評論并保存到本地,然后使用jieba分詞將評論文章分割成單詞,然后去除停用詞并統(tǒng)計詞頻。

大功告成

最后一步就是利用我們前面提到的pyecharts中的wordcloud來制作詞云了。選擇一張照片作為詞云的形狀,然后導(dǎo)入單詞及其詞頻作為權(quán)重,輸出文件即可。

 

(圖片來源于網(wǎng)絡(luò),侵刪)

詳細(xì)代碼:

  1. import requests 
  2. import random, time, json 
  3. from bs4 import BeautifulSoup as bs 
  4. import jieba 
  5. import pandas as pd 
  6. from pyecharts import charts, options 
  7.  
  8. url1 = 'https://movie.douban.com/subject/34841067/reviews?start={}' 
  9. url2 = 'https://movie.douban.com/j/review/{}/full' 
  10. header = '''Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 
  11. Accept-Encoding: gzip, deflate, br 
  12. Accept-Language: zh-CN,zh;q=0.9 
  13. Connection: keep-alive 
  14. Cookie: bid=RWSCuDu3-hA; douban-fav-remind=1; __gads=ID=f22d1fef6a644a7a-228e1b3a32c50048:T=1607935481:RT=1607935481:S=ALNI_MZwRU5qCsyehoDFgRdf7D5PRBqqCg; ll="108288"; _pk_ref.100001.4cf6=%5B%22%22%2C%22%22%2C1614764251%2C%22https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3DlzDNd94NFnBQCDIqNI00Il5NwjZoARpWz1lQy5MGKdL26rV5yrb1N1HIoGzoKu5k%26wd%3D%26eqid%3Dda5556d4000016f000000003603f58d7%22%5D; ap_v=0,6.0; __utmc=30149280; __utmz=30149280.1614764252.6.6.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __utma=223695111.1843127241.1614764252.1614764252.1614764252.1; __utmc=223695111; __utmz=223695111.1614764252.1.1.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __yadk_uid=rcNjENFDHY62mSmlZqJtXPKJZUfQkM75; _vwo_uuid_v2=D771633F1FBA119FD38FD79DCE082F26D|35b2c7beff079fe25b62163affe94ce8; _pk_id.100001.4cf6=2e0a301ce93b85e0.1614764251.1.1614764408.1614764251.; __utma=30149280.1170719909.1607935481.1614764252.1614766647.7; __utmt=1; __utmb=30149280.2.9.1614766647; dbcl2="152966201:ETujHWfkU2g"; ck=1WtR 
  15. Host: movie.douban.com 
  16. Referer: https://accounts.douban.com/ 
  17. Sec-Fetch-Dest: document 
  18. Sec-Fetch-Mode: navigate 
  19. Sec-Fetch-Site: same-site 
  20. Sec-Fetch-User: ?1 
  21. Upgrade-Insecure-Requests: 1 
  22. User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36''
  23. headers = {x.split(': ')[0]: x.split(': ')[1] for x in header.split('\n')} 
  24. session = requests.session() 
  25. session.headers = headers 
  26. result1 = [] 
  27. for i in range(0, 365): 
  28.     print(i) 
  29.     try: 
  30.         r = session.get(url1.format(i)) 
  31.         r.close() 
  32.         content = bs(r.text) 
  33.         result1.extend(x.get('data-cid'for x in content.select('div.review-list > div')) 
  34.     except
  35.         pass 
  36.     time.sleep(random.randrange(3, 20)) 
  37.  
  38. result2 = [] 
  39. for j in result1: 
  40.     print(result1.index(j)) 
  41.     try: 
  42.         r = session.get(url2.format(j)) 
  43.         r.close() 
  44.         data = json.loads(r.text) 
  45.         result2.append(data) 
  46.     except
  47.         pass 
  48.     time.sleep(random.randrange(10, 20)) 
  49.  
  50. review = [] 
  51. for i in result2: 
  52.     html = bs(i['html']) 
  53.     review.append(html.text) 
  54. for i in ['賈玲''賈曉玲''沈騰''張小斐''李煥英''光林''陳赫''沈光林''冷特']: 
  55.     jieba.add_word(i) 
  56. words = [] 
  57. for x in review: 
  58.     cut = jieba.lcut(x) 
  59.     words.extend(cut) 
  60.  
  61. with open('stopwords.txt''r')as f: 
  62.     stop = [x.strip() for x in f.readlines()] 
  63.     f.close() 
  64. df = pd.DataFrame(words, columns=['words']) 
  65. df_count = pd.DataFrame(df.groupby('words').size()) 
  66. count = df_count.loc[[x for x in df_count.index.values if x not in stop]].sort_values(0, ascending=False
  67. cloud = charts.WordCloud(init_opts=options.InitOpts(width='2000px', height='2000px')) 
  68. cloud.add('你好,李煥英'
  69.           data_pair=[(x, count.loc[x].values[0] / 100) for x in count.index.values], 
  70.           mask_image='jialing.jpeg'
  71.           word_size_range=[10, 300]) 
  72. cloud.render('你好李煥英.html'

 

責(zé)任編輯:姜華 來源: 數(shù)師兄
相關(guān)推薦

2014-06-06 13:42:26

iOS 8QR CodeWWDC2014

2012-05-03 10:24:02

ApacheMINAJava

2010-03-05 17:25:07

sharepoint

2011-11-30 16:02:13

筆記本評測

2021-03-11 09:30:19

互聯(lián)網(wǎng)數(shù)據(jù)技術(shù)

2017-04-11 20:49:02

機器學(xué)習(xí)大數(shù)據(jù)數(shù)據(jù)分析

2021-03-04 09:35:15

電影騰訊微視

2014-12-16 15:10:32

APC BR1000G后備式UPS電源

2021-01-08 09:07:19

Scrapy框架爬蟲

2017-05-04 21:15:30

Android分辨率

2012-02-24 10:48:56

語盒開源

2021-05-20 07:56:35

Bean容器Spring

2023-10-07 08:59:02

2018-01-01 23:02:56

2018-08-02 14:12:16

影評分析狄仁杰之四大天王

2022-07-04 23:24:28

sql優(yōu)化監(jiān)控

2012-11-09 16:51:41

阿里云開發(fā)者開發(fā)

2025-03-21 09:00:00

2023-04-20 17:41:38

開源清華
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 九九久久精品 | 欧美精品一区二区三区在线播放 | 99爱在线免费观看 | 国产男女猛烈无遮掩视频免费网站 | 久久精品欧美一区二区三区不卡 | 亚洲欧美久久 | 一区二区三区四区在线视频 | 玖玖国产 | 欧美久久一区 | 嫩草视频在线免费观看 | 午夜手机在线视频 | 少妇一区在线观看 | 精品视频国产 | 国内精品视频一区二区三区 | 日本三级在线网站 | 夜操| 97国产爽爽爽久久久 | 无人区国产成人久久三区 | 91麻豆精品国产91久久久久久久久 | 欧美v在线观看 | 91精品久久久久久久 | 午夜影院在线 | 日韩精品一区二区三区在线播放 | 久久久久久亚洲 | 日韩精品不卡 | 成人在线播放 | 成年人网站免费视频 | 九九久久久 | 超碰8| xx性欧美肥妇精品久久久久久 | 九九久久精品视频 | 中文字幕二区 | 国产毛片视频 | 国产精品99久久久精品免费观看 | 国产精品国产三级国产aⅴ无密码 | 亚洲精品二三区 | 亚洲成人精品 | 人操人免费视频 | 国产精品99久久久久久人 | 国产精品久久久久久久免费大片 | 日韩免费在线观看视频 |