【Python】B站视频评论和弹幕处理分析脚本

ID:22098 / 打印

【python】b站视频评论和弹幕处理分析脚本

免责声明: 本脚本仅供个人学习和研究使用,禁止用于任何商业或非法用途。

概述

本Python脚本旨在辅助人文学科研究,特别是网络平台话语分析。它能够全面收集和分析B站视频的弹幕和评论数据,尤其适用于对亚文化和社会议题相关的海量内容进行深入研究、分析、补充和总结。

功能与原理

立即学习“Python免费学习笔记(深入)”;

核心功能:

  1. 数据采集: 收集视频标题、作者、发布时间、播放量、收藏数、分享数、总弹幕数、评论数、视频描述、分类、视频链接和封面图链接等元数据。
  2. 弹幕分析: 提取100条弹幕,并进行情感评分、词性分析,记录时间戳和用户ID。
  3. 评论分析: 提取20条热门评论,并记录点赞数、情感分数、主题回复、会员ID、用户名和评论时间戳。

增强功能:

  1. 用户数据: (需提供Cookie) 获取弹幕发送者和评论用户的用户名、生日、注册时间、粉丝数和关注数等信息。
  2. IP定位: (需使用Selenium和浏览器驱动) 尝试获取评论用户的IP地址(此功能受限,成功率取决于B站的反爬机制)。
  3. 数据可视化: 将分析结果输出到Excel文件,包含情感分析中位数、词频统计、词云和条形图。

工作原理:

脚本通过B站开放API获取JSON数据,并使用BeautifulSoup解析XML数据。 SnowNLP、THULAC和jieba等自然语言处理库用于文本分词、停用词过滤、词性分析和词频统计。matplotlib用于生成图表。

快速入门

(适用于Windows和macOS系统)

  1. 安装依赖: 使用pip安装必要的Python库:

    pip3 install --no-cache-dir -r https://ghproxy.com/https://github.com/excalibra/scripts/blob/main/d-txt/requirements.txt
  2. 运行脚本: (需要先将脚本下载到本地)

    python3 get_bv_baseinfo.py

    脚本会提示您输入B站视频链接。

代码片段 (部分关键代码)

(完整代码请参考GitHub仓库)

# ... (其他代码省略) ...  class BilibiliAPI:     @staticmethod     def get_bv_json(video_url):         # ... (获取视频基本信息JSON) ...      @staticmethod     def get_danmu_xml(bv_json):         # ... (获取弹幕XML) ...      @staticmethod     def get_comment_json(bv_json):         # ... (获取评论JSON) ...  # ... (其他代码省略) ...  class Tools:     @staticmethod     def calculate_sentiment_score(text):         # ... (计算情感得分) ...      @staticmethod     def get_word_cloud(sheet_name, workbook):         # ... (生成词云) ...  # ... (其他代码省略) ...  if __name__ == '__main__':     # ... (主程序) ...

使用说明

  • 为了简化Cookie的输入,可以使用key=value格式,例如"a=a;",以跳过不必要的登录步骤。
  • IP定位功能需要使用Selenium和浏览器驱动程序,并登录您的Bilibili账户。由于B站的反爬虫机制,此功能的成功率无法保证。 请遵守B站的服务条款和机器人政策。

研究报告链接:

亚文化视角下的评论和弹幕研究:https://www.php.cn/link/e8da6d326d9dd901bce129d5bcdfde63 (完整报告会在后续补充“亚文化”和“社会问题”部分后公开。)

上一篇: Python 中的排序数据结构
下一篇: 在 PyTorch 中排列

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。