Kaggle论坛讨论数据集-2021-nicolasgonzalezmunoz
数据来源:互联网公开数据
标签:Kaggle,论坛,讨论,数据分析,数据挖掘,机器学习,社区,教育,研究
数据概述:
本数据集包含Kaggle平台上近期论坛讨论的精选数据。数据通过网络抓取技术,使用Selenium库从Kaggle的不同论坛中收集而来,并使用markdownify包将文本数据转换为Markdown格式。数据集涵盖了讨论的主题、标题、评论、投票、勋章等信息,旨在为Kaggle元数据集提供补充,特别是对于近期的讨论内容。
提取技术:
由于Kaggle是一个高度依赖JavaScript的动态网站,因此使用Selenium库进行数据抓取。抓取脚本实现了重试连接和等待元素加载的功能,以应对JavaScript生成页面的不稳定性。每个论坛的数据分别通过单独的Jupyter Notebook进行抓取,然后这些Notebook的数据被整合到一个中心Notebook,生成最终的数据集。讨论内容并行抓取以提高效率。数据集表示单次Notebook会话中可以收集的所有信息,从最近的数据到最旧的数据。
结构:
数据集包含多个文件夹,每个文件夹对应一个讨论论坛的数据。例如,“competition-hosting”文件夹包含关于比赛托管论坛的数据。每个文件夹内包含两个文件:一个是CSV文件,另一个是JSON文件。
JSON文件(在Python中表示为字典)以Kaggle分配的讨论ID索引。每个ID对应一个讨论,表示为嵌套的字典,包含以下字段:
- title: 主题标题。
- content: 主题内容。
- tags: 讨论标签列表。
- datetime: 讨论发布时间(ISO 8601格式)。
- votes: 讨论获得的投票数。
- medal: 主题获得的勋章(如有)。
- user: 发布主题的用户。
- expertise: 发布者的专业水平,由Kaggle进度系统衡量。
- n_comments: 当前讨论中的评论总数。
- n_appreciation_comments: 当前讨论中赞赏评论的总数。
- comments: 包含讨论中评论数据的字典。每个评论以Kaggle分配的ID索引,包含以下字段:
- content: 评论内容。
- is_appreciation: 评论是否为赞赏。
- is_deleted: 评论是否被删除。
- n_replies: 评论的回复数。
- datetime: 评论发布时间(ISO 8601格式)。
- votes: 当前评论获得的投票数。
- medal: 评论获得的勋章(如有)。
- user: 发布评论的用户。
- expertise: 发布者的专业水平,由Kaggle进度系统衡量。
- n_deleted: 包括自身在内的删除回复总数。
- replies: 采用同样格式的字典。
CSV文件作为JSON文件的摘要,包含关于评论的有限信息,侧重于最热门和投票最多的评论。
注意:每个讨论的“content”字段是必需的。其他字段的可用性受抓取任务稳定性和更新频率的影响。