python获取tx弹幕数据并制作词云图

news/2024/11/8 15:35:51/

前言

大家早好、午好、晚好吖 ❤ ~欢迎光临本文章

知识点介绍:

  • 爬虫基本思路流程

  • requests模块的使用

  • pandas读取表格数据

环境介绍:

开发环境:

  • python 3.8 运行代码

  • pycharm 2022.3 辅助敲代码

模块使用:

  • requests >>> pip install requests

  • pandas >>> pip install pandas

  • jieba

  • stylecloud

第三方模块安装:

win + R 输入cmd 输入安装命令 pip install 模块名

(如果你觉得安装速度比较慢, 你可以切换国内镜像源)

采集弹幕代码展示

完整源码、教程 点击此处跳转文末名片获取 ,我都放在这里了。

导入模块

import requests     # 发送请求 第三方模块
import csv          # 内置模块 保存数据
f = open('弹幕.csv', mode='a', newline='', encoding='utf-8-sig')
csv_writer = csv.writer(f)
csv_writer.writerow(['nick', 'create_time', 'content'])

伪装及多页采集

# 请求头: 伪装
# 键: 拼音
# 值: 字
# {'user-agent': 'Mozilla/5.0....'} Python叫做字典 存储数据的  列表也是存储数据的 []
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
}
for i in range(0, 100):# 请求方法: GETurl = f'https://dm.video.qq.com/barrage/segment/r0044k5cbzb/t/v1/{i*30000}/{i*30000+30000}/083002a_1666174141'
  1. 发送请求
    # 函数传参 默认位置传参, 指定参数传参response = requests.get(url, headers=headers)
  1. 获取数据 <Response [200]>: 请求成功
    json_data = response.json()
  1. 解析数据 提取数据
    # 字典(可以通过键取值) 和 列表 的取值方式# [1,2,3,4,5,6,7]barrage_list = json_data['barrage_list']for barrage in barrage_list:content = barrage['content']nick = barrage['nick']create_time = barrage['create_time']print(nick, create_time, content)
  1. 保存数据
        csv_writer.writerow([nick, create_time, content])

词云图代码

导入模块

import pandas as pd  # 第三方模块
import jieba
import stylecloud
  1. 导入数据
df = pd.read_csv('弹幕.csv')def get_cut_words(content_):# 定义停用词的表stop_words = []with open('stop_words.txt', 'r', encoding='utf-8-sig') as f:lines = f.readlines()for line in lines:stop_words.append(line.strip())

添加关键词

    my_words = ['666', '某音']for i in my_words:jieba.add_word(i)word_num = jieba.lcut(content_.str.cat(sep='。'), cut_all=False)word_num_selected = [i for i in word_num if i not in stop_words and len(i) >= 2]return word_num_selectedtext = get_cut_words(df['content'])stylecloud.gen_stylecloud(text=' '.join(text),collocations=False,font_path=r'C:\Windows\Fonts\msyh.ttc',icon_name='fab fa-youtube',size=768,output_name='video.png'
)

括展小知识

  1. .text: 只要是文本内容 都可以用.text

  2. .content: 获取二进制数据, 如果当你访问的链接为 图片/视频/音频

  3. .json(): 只支持 {}/[] 取出来之后的数据 要么是字典 要么是列表 要么就是报错

尾语 💝

好了,今天的分享就差不多到这里了!

完整代码、更多资源、疑惑解答直接点击下方名片自取即可。

对下一篇大家想看什么,可在评论区留言哦!看到我会更新哒(ง •_•)ง

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

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇👇


http://www.ppmy.cn/news/76688.html

相关文章

抖音矩阵系统开发分析(附代码部分)

简介 本文档旨在介绍抖音SEO源码开发相关内容&#xff0c;包括技术架构、关键模块、实现原理等方面的内容。 技术架构 抖音SEO源码采用的是分布式架构。整个系统可以分为以下几个模块&#xff1a; 数据抓取模块&#xff1a;负责从抖音服务器抓取数据&#xff0c;并进行去重和…

进程控制-进程的替换

回顾 对于进程&#xff0c;我们已经有了初步的了解&#xff0c;我们学会了进程的终止&#xff0c;进程的等待&#xff0c;还有如果创建子进程。 这次&#xff0c;我们来学习如何把一个进程运行的代码和数据替换成其他的代码和数据。 进程的替换 为什么要进程替换&#xff0…

微信小程序全局路由拦截

前言 略 微信小程序全局路由拦截方法1 目前微信小程序没有全局路由拦截。要想实现全局路由拦截&#xff0c;需要自己进行扩充。具体参考这里&#xff1a;微信小程序–路由拦截器。 实现思路&#xff1a; 替换Page的参数对象的onShow或onLoad方法。在替换的onShow或onLoad方…

ChatGPT:你真的了解网络安全吗?浅谈攻击防御进行时之网络安全新总结

ChatGPT&#xff1a;你真的了解网络安全吗&#xff1f;浅谈网络安全攻击防御进行时 网络安全新总结总结 ChatGPT&#xff08;全名&#xff1a;Chat Generative Pre-trained Transformer&#xff09;&#xff0c;美国OpenAI 研发的聊天机器人程序&#xff0c;是人工智能技术驱动…

直播和短视频美颜sdk的开发流程、代码分析

目前&#xff0c;美颜技术是提高视频质量的重要手段之一&#xff0c;特别是短视频和直播两个行业。本文将介绍其开发流程和代码分析。 一、美颜SDK的开发流程 1.需求分析 首先我们需要明确的一点就是“需求”&#xff0c;例如&#xff1a;美颜效果、美颜程度、性能要求等。同…

Windows系统数据结构——最小生成树、Prim算法和Kruskal算法

我是荔园微风&#xff0c;作为一名在IT界整整25年的老兵&#xff0c;今天总结一下Windows系统数据结构——最小生成树、Prim算法和Kruskal算法。 我在各在论坛看了很多相关帖子&#xff0c;发现一个简单的问题都被复杂化了。最小生成树、Prim算法和Kruskal算法真的没有大家想的…

shopee虾皮跨境电商网站商品数据支持网站后缀(.com.my;.vn;.ph)

作为一名技术爱好者&#xff0c;我们总会遇到各种各样的技术问题&#xff0c;需要寻找合适的技术解决方案。而在互联网时代&#xff0c;我们可以快速通过搜索引擎获取丰富的技术资源和解决方案。然而&#xff0c;在不同的技术分享中&#xff0c;我们常常会遇到质量参差不齐的文…

开始第一个vue项目,环境搭建+html项目运行

【用vue.js&#xff0c;通过script标签导入】 1. 搭建vue脚手架 安装node js安装cnpm&#xff08;淘宝源&#xff09; 【vue】在windows中搭建vue开发环境&#xff08;全网最详细&#xff09;_vue环境搭建_一起来学吧的博客-CSDN博客2a 2. 官网下载地址&#xff1a; 安装 …