用Python采集《雪中悍刀行》弹幕做成词云实例

目录

  • 前言
  • 知识点介绍
  • 环境介绍
  • 代码实现
    • 1. 导入模块
    • 2. 发送网络请求
    • 3. 获取数据 弹幕内容
    • 4. 解析数据(筛选数据) 提取想要的一些内容 不想要的忽略掉
    • 5. 保存数据
    • 6. 词云图可视化
  • 总结

    前言 最近已经播完第一季的电视剧《雪中悍刀行》,从播放量就可以看出观众对于这部剧的期待,总播放量达到50亿,可让人遗憾的是,豆瓣评分只有5.7,甚至都没有破6。
    用Python采集《雪中悍刀行》弹幕做成词云实例
    文章图片

    很多人会把这个剧和《庆余年》做对比,因为主创班底相同
    400余万字的同名小说曾被捧为网文界里的“名著”,不少粉丝早就对跨界改编有所期待,剧版的主创班底、出品方与2019年的爆款剧《庆余年》相同则放大了这份期待。然而《雪中悍刀行》播出后,书粉的怒火蔓延到了各类讨论场合。
    今天就来采集这部剧的一部分视频弹幕,看看观众都说了啥,为什么播放量高,口碑却低

    知识点介绍 requests模块的使用
    pandas保存表格数据
    pyecharts做词云图可视化

    环境介绍 python 3.8
    pycharm
    requests >>> pip install requests
    pyecharts >>> pip install pyecharts

    代码实现
    1. 导入模块
    import reimport 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×tamp={page}'esponse = requests.get(url=url, headers=headers)


    3. 获取数据 弹幕内容
    json_data = https://www.it610.com/article/response.json()

    : 告诉我们响应成功

    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'] = contentdata_dict['opername'] = comment['opername']print(data_dict)data_list.append(data_dict)


    5. 保存数据
    df = pd.DataFrame(data_list)# 乱码, 指定编码 为 utf-8 或者是 gbk 或者 utf-8-sigdf.to_csv('data.csv', encoding='utf-8-sig')

    用Python采集《雪中悍刀行》弹幕做成词云实例
    文章图片

    用Python采集《雪中悍刀行》弹幕做成词云实例
    文章图片


    6. 词云图可视化
    import jiebafrom pyecharts.charts import WordCloudimport pandas as pdfrom pyecharts import options as optswordlist = []data = https://www.it610.com/article/pd.read_csv('data.csv')['content']dataa = [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采集《雪中悍刀行》弹幕做成词云实例】到此这篇关于用Python采集《雪中悍刀行》弹幕做成词云实例的文章就介绍到这了,更多相关Python《雪中悍刀行》弹幕词云内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

      推荐阅读