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)文章
Matlab中的mat數(shù)據(jù)轉(zhuǎn)成python中使用的npy數(shù)據(jù)遇到的坑及解決
這篇文章主要介紹了Matlab中的mat數(shù)據(jù)轉(zhuǎn)成python中使用的npy數(shù)據(jù)遇到的坑及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12
windows系統(tǒng)下Python環(huán)境的搭建(Aptana Studio)
這篇文章主要介紹了windows系統(tǒng)下Python環(huán)境的搭建(Aptana Studio),需要的朋友可以參考下2017-03-03
PyInstaller如何打包依賴文件至目標(biāo)程序目錄
這篇文章主要介紹了PyInstaller如何打包依賴文件至目標(biāo)程序目錄,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02
Python+PyQt5+MySQL實(shí)現(xiàn)天氣管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Python+PyQt5+MySQL實(shí)現(xiàn)天氣管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-06-06
Python中利用ItsDangerous快捷實(shí)現(xiàn)數(shù)據(jù)加密
這篇文章主要介紹了Python中利用ItsDangerous快捷實(shí)現(xiàn)數(shù)據(jù)加密,通過使用Python庫ItsDangerous,我們就可以高效快捷地完成數(shù)據(jù)加密/解密的過程,本文結(jié)合實(shí)例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2022-11-11
Python爬取APP下載鏈接的實(shí)現(xiàn)方法
這篇文章主要實(shí)現(xiàn)的是批量下載安卓APP。顯然用手點(diǎn)是不科學(xué)的。于是嘗試用Python寫了一個半自動化的腳本。所謂半自動化,就是把下載鏈接批量抓取下來,然后一起貼到迅雷里進(jìn)行下載,這樣可以快速批量下載。有需要的朋友們可以一起看看吧。2016-09-09

