Python采集電視劇《開端》彈幕做成詞云圖

知識點(diǎn)介紹
爬蟲基本思路流程
requests模塊的使用
pandas保存表格數(shù)據(jù)
pyecharts做詞云圖可視化
環(huán)境介紹
python 3.8
pycharm
requests >>> pip install requests
pyecharts >>> pip install pyecharts
網(wǎng)站分析
打開X訊視頻的網(wǎng)頁,點(diǎn)開《開端》,播放視頻,彈幕隨之出現(xiàn)再屏幕之上。
首先我們需要找到相應(yīng)的彈幕出自于哪里,打開網(wǎng)頁開發(fā)者工具,Ctrl+F輸入:“那么多座位你倆非要擠一起嗎”,找到彈幕所在的頁面

觀察發(fā)現(xiàn)這是一個json,其彈幕內(nèi)容包含在該json中的comments之中

找到頁面之后觀察該頁面的請求頭,請求方式為get,target_id為該電視劇的網(wǎng)頁ID,得到該電視劇的鏈接地址主要由target_id和timestamp時間戳構(gòu)成,形如 http://mfm.video.qq.com/danmu?timestamp=0&target_id=xxxxx 且該json表明時間戳每30會更新一次彈幕信息,單位為秒,對網(wǎng)站進(jìn)行分析之后,我們直接看到代碼。
完整爬蟲代碼實(shí)現(xiàn)
timestamp每增加30就會更改整個彈幕頁面,在循環(huán)中每次增加30,并更改target_id即電視劇的每一集來獲取每一集的彈幕信息,下面便是編寫的獲取彈幕的函數(shù)。這里以第一集為例子。
import requests
import pandas as pd
# 構(gòu)建一個列表存儲數(shù)據(jù)
data_set = []
for page in range(15, 600, 30):
try:
# 1. 發(fā)送請求
url = f'https://mfm.video.qq.com/danmu?otype=json&target_id=7626117232%26vid%3Dn0041aa087e&session_key=0%2C0%2C0×tamp={page}&_=1641804763748'
response = requests.get(url=url)
# 2. 獲取數(shù)據(jù)
json_data = response.json()
# 3. 解析數(shù)據(jù)
comments = json_data['comments']
for comment in comments:
data_dict = {}
data_dict['commentid'] = comment['commentid']
data_dict['content'] = comment['content']
data_dict['opername'] = comment['opername']
print(data_dict)
data_set.append(data_dict)
except:
pass
# 4. 保存數(shù)據(jù)
df = pd.DataFrame(data_set)
df.to_csv('data.csv', index=False)
結(jié)果展示

word = dfword3['word'].tolist()
count = dfword3['count'].tolist()
a = [list(z) for z in zip(word, count)]
c = (
WordCloud()
.add('', a, word_size_range=[10, 50], shape='circle')
.set_global_opts(title_opts=opts.TitleOpts(title="詞云圖"))
)
c.render_notebook()

總結(jié)
到此這篇關(guān)于Python采集電視劇《開端》彈幕做成詞云圖的文章就介紹到這了,更多相關(guān)Python詞云圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
淺談flask截獲所有訪問及before/after_request修飾器
這篇文章主要介紹了淺談flask截獲所有訪問及before/after_request修飾器,具有一定借鑒價值,需要的朋友可以參考下2018-01-01
Python Web項(xiàng)目Cherrypy使用方法鏡像
這篇文章主要介紹了Python Web項(xiàng)目Cherrypy使用方法鏡像,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-11-11
Python并發(fā)編程之進(jìn)程間通信原理及實(shí)現(xiàn)解析
這篇文章主要為大家介紹了Python并發(fā)編程之進(jìn)程間通信原理及實(shí)現(xiàn)解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Python函數(shù)式編程模塊functools的使用與實(shí)踐
本文主要介紹了Python函數(shù)式編程模塊functools的使用與實(shí)踐,教你如何使用?functools.partial、functools.wraps、functools.lru_cache?和?functools.reduce,感興趣的可以了解一下2024-03-03
深入理解Python虛擬機(jī)中魔術(shù)方法的使用
這篇文章主要給大家介紹在?cpython?當(dāng)中一些比較花里胡哨的魔術(shù)方法,以幫助我們自己實(shí)現(xiàn)比較花哨的功能,當(dāng)然這其中也包含一些也非常實(shí)用的魔術(shù)方法,需要的可以參考下2023-05-05

