用Python采集《雪中悍刀行》彈幕做成詞雲實例

前言

最近已經播完第一季的電視劇《雪中悍刀行》,從播放量就可以看出觀眾對於這部劇的期待,總播放量達到50億,可讓人遺憾的是,豆瓣評分隻有5.7,甚至都沒有破6。

很多人會把這個劇和《慶餘年》做對比,因為主創班底相同

400餘萬字的同名小說曾被捧為網文界裡的“名著”,不少粉絲早就對跨界改編有所期待,劇版的主創班底、出品方與2019年的爆款劇《慶餘年》相同則放大瞭這份期待。然而《雪中悍刀行》播出後,書粉的怒火蔓延到瞭各類討論場合。

今天就來采集這部劇的一部分視頻彈幕,看看觀眾都說瞭啥,為什麼播放量高,口碑卻低

知識點介紹

requests模塊的使用

pandas保存表格數據

pyecharts做詞雲圖可視化

環境介紹

python 3.8

pycharm

requests >>> pip install requests

pyecharts >>> pip install pyecharts

代碼實現

1. 導入模塊

import re

import requests     # 發送網絡請求
import pandas as pd # 保存數據

2. 發送網絡請求

headers = {
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36'
}
# 構建一個列表儲存數據
data_list = []
for page in range(15, 1500, 30):
    url = f'https://mfm.video.qq.com/danmu?otype=json&target_id=7626435152%26vid%3Dp0041oidttf&session_key=0%2C174%2C1642248894&timestamp={page}'
    esponse = requests.get(url=url, headers=headers)

3. 獲取數據 彈幕內容

json_data = response.json()

<Response [200]>: 告訴我們響應成功

4. 解析數據(篩選數據) 提取想要的一些內容 不想要的忽略掉

comments = json_data['comments']
print(comments)
for comment in comments:
    data_dict = {}
    data_dict['commentid'] = comment['commentid']
    content = comment['content']
    content = re.sub(r'[\x0e\xa0]', '', content)

    data_dict['content'] = content
    data_dict['opername'] = comment['opername']
    print(data_dict)
    data_list.append(data_dict)

5. 保存數據

df = pd.DataFrame(data_list)
# 亂碼, 指定編碼 為 utf-8 或者是 gbk 或者 utf-8-sig
df.to_csv('data.csv', encoding='utf-8-sig')

6. 詞雲圖可視化

import jieba
from pyecharts.charts import WordCloud
import pandas as pd
from pyecharts import options as opts

wordlist = []
data = pd.read_csv('data.csv')['content']
data

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()

總結

到此這篇關於用Python采集《雪中悍刀行》彈幕做成詞雲實例的文章就介紹到這瞭,更多相關Python《雪中悍刀行》彈幕詞雲內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: