怎么使用Python爬取视频弹幕
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,今天就跟大家聊聊有关怎么使用Python爬取视频弹幕,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。前言之前爱奇艺独播热剧『赘婿』特别火,笔者也
千家信息网最后更新 2024年09月22日怎么使用Python爬取视频弹幕
今天就跟大家聊聊有关怎么使用Python爬取视频弹幕,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
前言
之前爱奇艺独播热剧『赘婿』特别火,笔者也在一直追,借助手中的技术,想爬取弹幕分析该剧的具体情况以及网友的评论!
由于为了让小白彻底学会使用python爬取爱奇艺弹幕的技术,因此本文详细介绍如何进行爬取,下文再进行分析数据!
分析数据包
1.查找数据包
在浏览器里面按F12
找到这类url
https://cmts.iqiyi.com/bullet/54/00/7973227714515400_60_2_5f3b2e24.br
2.分析弹幕链接
其中的/54/00/7973227714515400,才是有用的!!!!
爱奇艺的弹幕获取地址如下:
https://cmts.iqiyi.com/bullet/参数1_300_参数2.z
参数1是:/54/00/7973227714515400
参数2是:数字1、2、3.....
爱奇艺每5分钟会加载新的弹幕,每一集约是46分钟,46除以5向上取整就是10
因此弹幕的链接如下:
https://cmts.iqiyi.com/bullet/54/00/7973227714515400_300_1.zhttps://cmts.iqiyi.com/bullet/54/00/7973227714515400_300_2.zhttps://cmts.iqiyi.com/bullet/54/00/7973227714515400_300_3.z......https://cmts.iqiyi.com/bullet/54/00/7973227714515400_300_10.z
3.解码二进制数据包
通过弹幕链接下载的弹幕包是以z为后缀格式的文件,需要进行解码!
def zipdecode(bulletold): '对zip压缩的二进制内容解码成文本' decode = zlib.decompress(bytearray(bulletold), 15 + 32).decode('utf-8') return decode
解码之后将数据保存成xml格式
# 把编码好的文件分别写入个xml文件中(类似于txt文件),方便后边取数据 with open('./lyc/zx' + str(x) + '.xml', 'a+', encoding='utf-8') as f: f.write(xml)
解析xml
1.提取数据
通过查看xml文件,我们需要提取的内容有1.用户id(uid)、2.评论内容(content)、3.评论点赞数(likeCount)。
#读取xml文件中的弹幕数据数据from xml.dom.minidom import parseimport xml.dom.minidomdef xml_parse(file_name): DOMTree = xml.dom.minidom.parse(file_name) collection = DOMTree.documentElement # 在集合中获取所有entry数据 entrys = collection.getElementsByTagName("entry") print(entrys) result = [] for entry in entrys: uid = entry.getElementsByTagName('uid')[0] content = entry.getElementsByTagName('content')[0] likeCount = entry.getElementsByTagName('likeCount')[0] print(uid.childNodes[0].data) print(content.childNodes[0].data) print(likeCount.childNodes[0].data)
保存数据
1.保存前工作
import xlwt# 创建一个workbook 设置编码workbook = xlwt.Workbook(encoding = 'utf-8')# 创建一个worksheetworksheet = workbook.add_sheet('sheet1')# 写入excel# 参数对应 行, 列, 值worksheet.write(0,0, label='uid')worksheet.write(0,1, label='content')worksheet.write(0,2, label='likeCount')
导入xlwt库(写入csv),并定义好标题(uid、content、likeCount)
2.写入数据
for entry in entrys: uid = entry.getElementsByTagName('uid')[0] content = entry.getElementsByTagName('content')[0] likeCount = entry.getElementsByTagName('likeCount')[0] print(uid.childNodes[0].data) print(content.childNodes[0].data) print(likeCount.childNodes[0].data) # 写入excel # 参数对应 行, 列, 值 worksheet.write(count, 0, label=str(uid.childNodes[0].data)) worksheet.write(count, 1, label=str(content.childNodes[0].data)) worksheet.write(count, 2, label=str(likeCount.childNodes[0].data)) count=count+1
最后保存成弹幕数据集-李运辰.xls
for x in range(1,11): l = xml_parse("./lyc/zx" + str(x) + ".xml")# 保存workbook.save('弹幕数据集-李运辰.xls')
看完上述内容,你们对怎么使用Python爬取视频弹幕有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。
数据
内容
参数
文件
分析
链接
评论
视频
二进制
技术
格式
编码
下文
前言
后缀
地址
就是
情况
数字
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
狮控互联网科技
上海微梦创科网络技术有限公司
海瑶软件开发
腾讯轻量应用服务器有数据库吗
教育装备集成商数据库
在学生管理数据库中建数据表
新华社多媒体数据库图片价格
网络安全防范的具体措施
西安电子科技大学网络安全就业率
金山软件开发武汉
政协网络安全审查办法
广州专业软件开发中心
京东软件开发进哪个部门好
mc特别好的服务器
上位机软件开发哪个好
百旺软件开发
计算机通用软件开发
网络安全通识培训心得体会博客
第五届雪野湖医疗网络安全
襄阳专业的软件开发价格
网络安全相关主题的上下课铃声
特定网络技术开发生产过程
万象网管服务端数据库
数据库重新分配原则
数据的两个特征 数据库
工作室软件开发税率
数据库怎么打开dmp
数据库索引原理B
中小学生家庭教育 与网络安全
深圳采购软件开发