用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. 导入模块

import re

import 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&timestamp={page}'
    esponse = requests.get(url=url, headers=headers)

3. 获取数据 弹幕内容

json_data = response.json()

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

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

5. 保存数据

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

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

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《雪中悍刀行》弹幕词云内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Python实现爬取某站视频弹幕并绘制词云图

    目录 前言 爬取弹幕 爬虫基本思路流程 导入模块 代码 制作词云图 导入模块 读取弹幕数据 前言 [课 题]: Python爬取某站视频弹幕或者腾讯视频弹幕,绘制词云图 [知识点]: 1. 爬虫基本流程 2. 正则 3. requests >>> pip install requests 4. jieba >>> pip install jieba 5. imageio >>> pip install imageio 6. wordcloud  >

  • Python爬取英雄联盟MSI直播间弹幕并生成词云图

    一.环境准备 安装相关第三方库 pip install jieba pip install wordcloud 二.数据准备 爬取对象:2021年5月23号,RNG夺冠直播间的弹幕信息 爬取对象路径: 方式1.根据开发者工具(F12),获取请求url.请求头.cookie等信息: 方式2:根据直播地址url,前+字符i 我们这里演示的是,采用方式2. 三.代码如下 import requests, re import jieba, wordcloud """ # 以下是练习代

  • Python爬取雪中悍刀行弹幕分析并可视化详程

    目录 哔哔一下 爬虫部分 代码部分 效果展示 数据可视化 代码展示 效果展示 福利环节 哔哔一下 雪中悍刀行兄弟们都看过了吗?感觉看了个寂寞,但又感觉还行,原谅我没看过原著小说~ 豆瓣评分5.8,说明我还是没说错它的. 当然,这并不妨碍它波播放量嘎嘎上涨,半个月25亿播放,平均一集一个亿,就是每天只有一集有点难受. 我们今天就来采集一下它的弹幕,实现数据可视化,看看弹幕文化都输出了什么~ 爬虫部分 我们将它的弹幕先采集下来,保存到Excel表格~ 首先安装一下这两个模块 requests # 发

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

    目录 前言 知识点介绍 环境介绍 代码实现 1. 导入模块 2. 发送网络请求 3. 获取数据 弹幕内容 4. 解析数据(筛选数据) 提取想要的一些内容 不想要的忽略掉 5. 保存数据 6. 词云图可视化 总结 前言 最近已经播完第一季的电视剧<雪中悍刀行>,从播放量就可以看出观众对于这部剧的期待,总播放量达到50亿,可让人遗憾的是,豆瓣评分只有5.7,甚至都没有破6. 很多人会把这个剧和<庆余年>做对比,因为主创班底相同 400余万字的同名小说曾被捧为网文界里的“名著”,不少粉丝

  • python去除文件中重复的行实例

    python去除文件中重复的行,我们可以设置一个一个空list,res_list,用来加入没有出现过的字符行! 如果出现在res_list,我们就认为该行句子已经重复了,可以再加入到记录重复句子的list中. 如下代码: # -*- coding: UTF-8 -*- #程序功能是为了完成判断文件中是否有重复句子 #并将重复句子打印出来 res_list = [] #f = open('F:/master/master-work/code_of_graduate/LTP_data/raw_pla

  • Python脚本开发中的命令行参数及传参示例详解

    目录 sys模块 argparse模块 Python中的正则表达式 正则表达式简介 Re模块 常用的匹配规则 sys模块 在使用python开发脚本的时候,作为一个运维工具,或者是其他工具需要在接受用户参数运行时,这里就可以用到命令行传参的方式,可以给使用者一个比较友好的交互体验. python可以使用 sys 模块中的 sys.argv 命令来获取命令行参数,其中返回的参数是一个列表 在实际开发中,我们一般都使用命令行来执行 python 脚本 使用终端执行python文件的命令:python

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

    目录 知识点介绍 环境介绍 网站分析 完整爬虫代码实现 结果展示 总结 知识点介绍 爬虫基本思路流程 requests模块的使用 pandas保存表格数据 pyecharts做词云图可视化 环境介绍 python 3.8 pycharm requests >>> pip install requests pyecharts >>> pip install pyecharts 网站分析 打开X讯视频的网页,点开<开端>,播放视频,弹幕随之出现再屏幕之上. 首先

  • python 判断字符串中是否含有汉字或非汉字的实例

    model中compile值可以根据需要更改,满足不同的检测需求 #判断一段文本中是否包含简体中文 import re zhmodel = re.compile(u'[\u4e00-\u9fa5]') #检查中文 #zhmodel = re.compile(u'[^\u4e00-\u9fa5]') #检查非中文 contents = u'(2014)深南法民二初字第280号' match = zhmodel.search(contents) if match: print(contents) e

  • python Matplotlib底图中鼠标滑过显示隐藏内容的实例代码

    在使用Matplotlib画图过程中,有些内容必须鼠标点击或者划过才可以显示,这个问题可以依赖于annotate(s='str' ,xy=(x,y) ,xytext=(l1,l2) ,..)这个函数,其中s 为注释文本内容 , xy 为被注释的坐标点, xytext 为注释文字的坐标位置,其他参数可自行百度哈.当鼠标滑过时候,将其设置为可见,默认情况下为隐藏.下面是一个小例子: # -*- coding: UTF-8 -*- import matplotlib.pyplot as plt fig

  • python采集百度搜索结果带有特定URL的链接代码实例

    这篇文章主要介绍了python采集百度搜索结果带有特定URL的链接代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #coding utf-8 import requests from bs4 import BeautifulSoup as bs import re from Queue import Queue import threading from argparse import ArgumentParser arg = Argu

  • python 统计数组中元素出现次数并进行排序的实例

    如下所示: lis = [12,34,456,12,34,66,223,12,5,66,12,23,66,12,66,5,456,12,66,34,5,34] def test1(): #进行去重 c = [] for i in lis: if i not in c: c.append(i) #进行统计,生成二维列表 b = [] for i in c: num = 0 for j in range(len(lis)): if lis[j] == i: num += 1 a = [] a.app

  • python统计多维数组的行数和列数实例

    python菜鸟,每天都要进步一点点. 二维元组的例子: A = ((1, 1, 1), (1, 1, 1),(1, 1, 1),(0, 0, 0)) print len(A) # 4, print len(A[0]) # 3 同样的如果是多维,每一维长度应该是 len(A[i]) 以上这篇python统计多维数组的行数和列数实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

随机推荐