1. 程式人生 > 實用技巧 >python分析:爬取《靈籠》這部國產動漫彈幕,分析詞雲!看看網友究竟在說啥?

python分析:爬取《靈籠》這部國產動漫彈幕,分析詞雲!看看網友究竟在說啥?

本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯絡我們以作處理

以下文章來源於騰訊雲 作者:Python瘋子

一、前言:

《靈籠》這部動漫國漫裡面製作算是精良,但是劇情有太多瑕疵。網友彈幕更是兩極分化,有點說劇情好,有點說劇情爛。也有得說人物建模好有點也說差,今天我們就來爬取這部國產動漫看看網友究竟在說啥?

二、爬取《靈籠》彈幕

1、思路
2、用到的庫
3、程式碼
4、詞雲

1、思路

  • 通過爬蟲爬取彈幕
  • 通過jieba分詞對彈幕進行分詞
  • 通過wordcloud繪製詞雲

2、用到的庫

  • csv 用於csv檔案的編寫
  • request 用於請求網址
  • re 正則庫用於提取html中的字母資訊
  • jieba 用於漢字的分詞
  • wordcloud 用於詞雲繪製

3、程式碼

# 爬取資料
import csv
# 資料請求庫
import requests
# 正則表示式
import re
# 分詞
import jieba
# 詞雲
import wordcloud

# 1.定位url
url='https://api.bilibili.com/x/v2/dm/history?type=1&oid=129528808&date=2020-08-28'

# 2.模擬登陸
# 設定h請求頭防止反扒攔截
# 因為b站是登入後檢視彈幕,因此這裡需要加入自己電腦的cookie
headers={ 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0', "Cookie":"_uuid=445F64D3-1530-41CF-09EC-C6029EF29EA659147infoc; buvid3=54281361-1A51-46A7-838B-7FB1214C81B953936infoc; CURRENT_FNVAL=16; LIVE_BUVID=AUTO9915845422486102; rpdid=|(u)~mYY~u0J'ul)RlRkkR); sid=4y1wx1oi; DedeUserID=229593267; DedeUserID__ckMd5=72ee797eb51fb8c3; SESSDATA=b7620543%2C1600240037%2Cd737d*31; bili_jct=03269466eb702a213723a0585db59cbe; bp_t_offset_229593267=428995725967649604; CURRENT_QUALITY=80; PVID=1; _ga=GA1.2.1605929815.1586006097; bp_video_offset_229593267=428995725967649604; blackside_state=1; bfe_id=fdfaf33a01b88dd4692ca80f00c2de7f
" } # 請求資料 resp = requests.get(url,headers=headers) # 解碼資料,防止亂碼 html=resp.content.decode('utf-8') # 3.解析網頁提取字幕 # 通過正則表示式,對返回html中的彈幕提取 res=re.compile('<d.*?>(.*?)</d>') danmu=re.findall(res,html) # 4.儲存資料 for i in danmu: with open (r'D:\360MoveData\Users\cmusunqi\Documents\GitHub\R_and_python\python\詞雲和爬蟲\彈幕.csv','a',newline='',encoding='utf-8') as f: writer=csv.writer(f) danmu=[] danmu.append(i) writer.writerow(danmu) # 詞雲繪製============================================================ # 讀取儲存的csv檔案 f = open (r'D:\360MoveData\Users\cmusunqi\Documents\GitHub\R_and_python\python\詞雲和爬蟲\彈幕.csv',encoding='utf-8') txt=f.read() # jieba分詞 txt_list=jieba.lcut(txt) # 將分詞後的列表通過空格連線 string=' '.join(txt_list) # 繪製詞雲,內建引數需檢視官方程式碼 w=wordcloud.WordCloud( width=1000, height=700, background_color='white', font_path="msyh.ttc", scale=15, stopwords={" "}, contour_width=5, contour_color='red' ) # 匯出圖片為png w.generate(string) w.to_file(r'D:\360MoveData\Users\cmusunqi\Documents\GitHub\R_and_python\python\詞雲和爬蟲\ciyun.png')

4、詞雲


總結:繪製的詞雲最大的字和是害怕和猝不及防,你害怕還看個P呦。