您当前的位置: 首页 >  Python

魔王不会哭

暂无认证

  • 3浏览

    0关注

    149博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Python采集《雪中》弹幕做词云图可视化分析,看看它为何高开低走

魔王不会哭 发布时间:2022-01-20 15:39:26 ,浏览量:3

前言

嗨喽!大家好,这里是魔王~

最近已经播完第一季的电视剧《雪中悍刀行》,从播放量就可以看出观众对于这部剧的期待,总播放量达到50亿,可让人遗憾的是, 豆瓣评分只有5.7,甚至都没有破6。

在这里插入图片描述 很多人会把这个剧和《庆余年》做对比,因为主创班底相同

400余万字的同名小说曾被捧为网文界里的“名著”,不少粉丝早就对跨界改编有所期待,剧版的主创班底、出品方与2019年的爆款剧《庆余年》相同则放大了这份期待。然而《雪中悍刀行》播出后,书粉的怒火蔓延到了各类讨论场合。

时常在某站混迹的我,经常刷到《雪中》影视片段和其他影视片段的对比视频,比如:

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述 今天就来采集这部剧的一部分视频弹幕,看看观众都说了啥,为什么播放量高,口碑却低

知识点介绍
  1. requests模块的使用
  2. pandas保存表格数据
  3. pyecharts做词云图可视化
环境介绍
  • python 3.8
  • pycharm
  • requests >>> pip install requests
  • pyecharts >>> pip install pyecharts
一. 思路分析

找到弹幕所在地址 分析弹幕生成规律 timestamp: 初始值 15 后续实时加载 每隔30 就换一个数据

https://mfm.video.qq.com/danmuotype=json&target_id=7626435152%26vid%3Dp0041oidttf&session_key=0%2C174%2C1642248894×tamp=195

二. 代码实现
  1. 发送网络请求
  2. 获取数据 弹幕内容
  3. 解析数据(筛选数据) 提取想要的一些内容 不想要的忽略掉
  4. 保存数据
  5. 词云图可视化
一、爬取弹幕 模块导入
import requests     # 发送网络请求
import pandas as pd # 保存数据
1.构建伪装
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×tamp={page}'
2. 发送网络请求
    response = requests.get(url=url, headers=headers)
3. 获取数据 弹幕内容 : 告诉我们响应成功
    json_data = response.json()
    # print(json_data)
4. 解析数据(筛选数据) 提取想要的一些内容 不想要的忽略掉
    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_list.append(data_dict)
5. 保存数据 wps 默认以gbk的方式打开的
df = pd.DataFrame(data_list)
# 乱码, 指定编码 为 utf-8 或者是 gbk 或者 utf-8-sig
df.to_csv('data.csv', encoding='utf-8-sig', index=False)
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

#%%

data_list = data.values.tolist()
data_str = ' '.join(data_list)
words = jieba.lcut(data_str)

#%%

for word in words:
    if len(word) > 1:
        wordlist.append({'word':word, 'count':1})
df = pd.DataFrame(wordlist)

#%%

dfword = df.groupby('word')['count'].sum()
dfword2 = dfword.sort_values(ascending=False)

#%%

dfword3 = pd.DataFrame(dfword2, columns=['count'])

#%%

dfword3['word'] = dfword3.index
dfword3

#%%

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

词云图

在这里插入图片描述

视频教程

最近老是看到《雪中悍刀行》的视频推荐,于是来爬一爬它的弹幕,看看评价如何!

尾语

好了,我的这篇文章写到这里就结束啦!

有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

关注
打赏
1665385393
查看更多评论
立即登录/注册

微信扫码登录

0.0467s