弾幕は「セカンドブラシ」でいっぱいですが、このショーはどれくらい良いですか?Pythonを使用して1.1Wの弾幕を収集し、ワードクラウド分析を実行します

環境紹介

python3.8pycharmリクエスト>>>pipインストールリクエスト
pyecharts >>>pip install pyecharts

ビデオ弾幕コレクション

リクエストデータ

headers = {
    
    
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36'
}
for page in range(15, 1500, 30):
    url = f'https://mfm.XXXX.com/danmu?otype=json&target_id=7712618480%26vid%3Dg00423lkmas&session_key=0%2C0%2C0&timestamp={
      
      page}&_=1647931110703'

    response = requests.get(url=url, headers=headers)

文字列から辞書(コンテナ)にデータを取得する

json_data = response.json()

分析データ

for comment in json_data['comments']:
    commentid = comment['commentid']
    opername = comment['opername']
    content = comment['content']

データを保存する

with open('弹幕.csv', encoding='utf-8-sig', mode='a', newline='') as f:
    csv_writer = csv.writer(f)
    csv_writer.writerow([commentid, opername, content])

コードを実行して、1Wを超える弾幕データを取得します

ワードクラウドの視覚化

データのインポート

wordlist = []
data = pd.read_csv('弹幕.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()

おすすめ

転載: blog.csdn.net/m0_48405781/article/details/123721853