脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python采集电视剧《开端》弹幕做成词云图

Python采集电视剧《开端》弹幕做成词云图

2022-09-03 10:24松鼠爱吃饼干 Python

大家好,本篇文章主要讲的是Python采集电视剧《开端》弹幕做成词云图,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下

Python采集电视剧《开端》弹幕做成词云图

 

知识点介绍

爬虫基本思路流程

requests模块的使用

pandas保存表格数据

pyecharts做词云图可视化

 

环境介绍

python 3.8

pycharm

requests >>> pip install requests

pyecharts >>> pip install pyecharts

 

网站分析

打开X讯视频的网页,点开《开端》,播放视频,弹幕随之出现再屏幕之上。

首先我们需要找到相应的弹幕出自于哪里,打开网页开发者工具,Ctrl+F输入:“那么多座位你俩非要挤一起吗”,找到弹幕所在的页面

Python采集电视剧《开端》弹幕做成词云图

观察发现这是一个json,其弹幕内容包含在该json中的comments之中

Python采集电视剧《开端》弹幕做成词云图

找到页面之后观察该页面的请求头,请求方式为get,target_id为该电视剧的网页ID,得到该电视剧的链接地址主要由target_id和timestamp时间戳构成,形如 http://mfm.video.qq.com/danmu?timestamp=0&target_id=xxxxx 且该json表明时间戳每30会更新一次弹幕信息,单位为秒,对网站进行分析之后,我们直接看到代码。

 

完整爬虫代码实现

timestamp每增加30就会更改整个弹幕页面,在循环中每次增加30,并更改target_id即电视剧的每一集来获取每一集的弹幕信息,下面便是编写的获取弹幕的函数。这里以第一集为例子。

import requests
import pandas as pd

# 构建一个列表存储数据
data_set = []

for page in range(15, 600, 30):
    try:
        # 1. 发送请求
        url = f"https://mfm.video.qq.com/danmu?otype=json&target_id=7626117232%26vid%3Dn0041aa087e&session_key=0%2C0%2C0&timestamp={page}&_=1641804763748"
        response = requests.get(url=url)
        # 2. 获取数据
        json_data = response.json()
        # 3. 解析数据
        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_set.append(data_dict)
    except:
        pass

# 4. 保存数据
df = pd.DataFrame(data_set)
df.to_csv("data.csv", index=False)

 

结果展示

Python采集电视剧《开端》弹幕做成词云图

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

Python采集电视剧《开端》弹幕做成词云图

 

总结

到此这篇关于Python采集电视剧《开端》弹幕做成词云图的文章就介绍到这了,更多相关Python词云图内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

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

延伸 · 阅读

精彩推荐
  • Pythonjupyter notebook中图片显示不出来的解决

    jupyter notebook中图片显示不出来的解决

    这篇文章主要介绍了jupyter notebook中图片显示不出来的解决操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    淡淡梅汁12842021-09-27
  • Python在VS Code上搭建Python开发环境的方法

    在VS Code上搭建Python开发环境的方法

    这篇文章主要介绍了在VS Code上搭建Python开发环境的方法,需要的朋友可以参考下...

    cto_ouxueying12392021-01-28
  • PythonPython-ElasticSearch搜索查询的讲解

    Python-ElasticSearch搜索查询的讲解

    今天小编就为大家分享一篇关于Python-ElasticSearch搜索查询的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小...

    奔跑的豆子_5732021-06-02
  • PythonPython3获取cookie常用三种方案

    Python3获取cookie常用三种方案

    这篇文章主要介绍了Python3获取cookie常用三种方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考...

    lincappu15312020-10-06
  • Python如何在向量化NumPy数组上进行移动窗口

    如何在向量化NumPy数组上进行移动窗口

    这篇文章主要介绍了如何在向量化NumPy数组上进行移动窗口的操作,具有很好的参考价值,希望对大家有所帮助。...

    deephub5782021-11-05
  • Pythonwin10下安装Anaconda的教程(python环境+jupyter_notebook)

    win10下安装Anaconda的教程(python环境+jupyter_notebook)

    Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。这篇文章主要介绍了win10下安装Anaconda(python环境+jupyter_notebook),需...

    BIG_FISH18212021-11-26
  • Pythonpython+opencv识别图片中的圆形

    python+opencv识别图片中的圆形

    这篇文章主要为大家详细介绍了python+opencv识别图片中的圆形 ,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    Tina_Wei16892021-01-25
  • PythonDjango中信号signals的简单使用方法

    Django中信号signals的简单使用方法

    这篇文章主要给大家介绍了关于Django中信号signals的简单使用方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Django具有一定的参考学习价值,...

    如何好听10342021-07-31