阅读 85

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

大家好,本篇文章主要讲的是用Python采集《雪中悍刀行》弹幕做成词云实例,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

目录
  • 前言

  • 知识点介绍

  • 环境介绍

  • 代码实现

    • 1. 导入模块

    • 2. 发送网络请求

    • 3. 获取数据 弹幕内容

    • 4. 解析数据(筛选数据) 提取想要的一些内容 不想要的忽略掉

    • 5. 保存数据

    • 6. 词云图可视化

  • 总结

    前言

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

    很多人会把这个剧和《庆余年》做对比,因为主创班底相同

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

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

    知识点介绍

    requests模块的使用

    pandas保存表格数据

    pyecharts做词云图可视化

    环境介绍

    python 3.8

    pycharm

    requests >>> pip install requests

    pyecharts >>> pip install pyecharts

    代码实现

    1. 导入模块

    1
    2
    3
    4
    import re
     
    import requests     # 发送网络请求
    import pandas as pd # 保存数据


    2. 发送网络请求

    1
    2
    3
    4
    5
    6
    7
    8
    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. 获取数据 弹幕内容

    1
    json_data = response.json()

    <Response [200]>: 告诉我们响应成功

    4. 解析数据(筛选数据) 提取想要的一些内容 不想要的忽略掉

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    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. 保存数据

    1
    2
    3
    df = pd.DataFrame(data_list)
    # 乱码, 指定编码 为 utf-8 或者是 gbk 或者 utf-8-sig
    df.to_csv('data.csv', encoding='utf-8-sig')

    6. 词云图可视化

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    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采集《雪中悍刀行》弹幕做成词云实例的文章就介绍到这了

    原文链接:https://blog.csdn.net/m0_48405781/article/details/122587761


    文章分类
    百科问答
    版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
    相关推荐