遇见数据集

goodreads-books

收藏
Hugging Face2026-07-15 更新2026-07-16 收录
官方服务:

资源简介:

Goodreads Books Metadata 是一个从Goodreads(社交阅读和推荐平台)直接抓取的结构化图书记录数据集,收集于2026年7月。该数据集旨在支持对集体阅读偏好、评分动态和图书流行模式的研究,包含丰富的元数据,涵盖书目信息(如标题、第一作者、出版日期、出版商、语言、页数、格式、系列)、众包评分(平均评分、评论数)、读者参与度信号(当前在读人数、想读人数)、作者级别统计(作品数量、粉丝数)以及描述文本和体裁标签。数据集规模约为数万条记录,存储为约381个Parquet分区文件,总计约28 MB。主要字段包括:book_id(图书ID)、url(页面URL)、title(标题)、first_author(第一作者)、average_rating(平均评分,1.0-5.0)、num_reviews(评论数)、first_published(首次出版日期)、publisher(出版商)、language_code(语言代码)、num_pages(页数)、description(描述文本)、genres(体裁列表)、format(格式)、series(系列)、num_currently_reading(当前在读人数)、num_want_to_read(想读人数)、first_author_num_books(第一作者作品数)、first_author_num_followers(第一作者粉丝数)等。该数据集适用于多种任务,包括:图书评分预测、体裁分类、流行度分析、作者影响力分析以及阅读行为分析。数据来源于公开的Goodreads图书页面,不包含用户身份信息。需要注意的是,数据是特定时间点的快照,可能存在解析不完整、语言偏差(主要为英语)、仅包含第一作者信息等局限性。数据集仅供研究和教育用途,使用者需遵守Goodreads的服务条款。

Goodreads Books Metadata is a structured book record dataset directly scraped from Goodreads (a social reading and recommendation platform), collected in July 2026. This dataset aims to support research on collective reading preferences, rating dynamics, and book popularity patterns. It contains rich metadata covering bibliographic information (such as title, first author, publication date, publisher, language, page count, format, series), crowdsourced ratings (average rating, number of reviews), reader engagement signals (number of people currently reading, number of people wanting to read), author-level statistics (number of works, number of followers), as well as description text and genre tags. The dataset scale is approximately tens of thousands of records, stored in about 381 Parquet partition files, totaling about 28 MB. Key fields include: book_id (book ID), url (page URL), title (title), first_author (first author), average_rating (average rating, 1.0-5.0), num_reviews (number of reviews), first_published (first publication date), publisher (publisher), language_code (language code), num_pages (page count), description (description text), genres (genre list), format (format), series (series), num_currently_reading (number of people currently reading), num_want_to_read (number of people wanting to read), first_author_num_books (first authors number of books), first_author_num_followers (first authors number of followers), etc. This dataset is suitable for various tasks, including: book rating prediction, genre classification, popularity analysis, author influence analysis, and reading behavior analysis. The data comes from publicly available Goodreads book pages and does not contain user identity information. It should be noted that the data is a snapshot at a specific point in time and may have limitations such as incomplete parsing, language bias (primarily English), and inclusion of only first author information. The dataset is for research and educational purposes only, and users must comply with Goodreads terms of service.

创建时间:
2026-07-10
原始信息汇总

数据集概述:Goodreads Books Metadata

这是一个从 Goodreads 平台抓取的结构化图书元数据集,旨在用于图书评级、流行度分析和阅读行为画像等研究。

基本信息

  • 数据集名称: Goodreads Books Metadata
  • 维护者: pfaha (Hugging Face个人主页)
  • 许可证: 其他 (非标准,用于研究和教育目的)
  • 语言: 英语 (en)
  • 数据规模: 10K < n < 100K (约 38,100 条记录)
  • 任务类别: 表格回归 (tabular-regression)
  • 标签: goodreads, books, social-network, reading-behavior
  • 来源: 原始 (original),数据直接源于 Goodreads。
  • 主页: https://www.goodreads.com

数据收集

  • 来源: Goodreads 图书页面,通过 Python 爬虫 (book_scraper.py) 于 2026年7月 采集。
  • 存储格式: Parquet 格式,按文件分片存储(每个文件约100条,共约381个部分文件)。
  • 存储大小: 约 28 MB。
  • 采集策略:
    • 基于预设的 Goodreads 图书ID 列表进行抓取。
    • 优先解析页面中的 __NEXT_DATA__ JSON 数据,其次是 application/ld+json,最后才使用正则表达式提取。
    • 同时抓取第一作者的 Goodreads 主页,以丰富作者数据。
    • 实行礼貌爬取策略:基础延迟2秒,外加随机抖动,遇到429或523错误时进行指数退避,最长等待60秒。
    • 具备断点续传和容错机制。

数据内容与结构

特征字段

列名 类型 描述
book_id int64 Goodreads 图书数字ID
url string 图书在 Goodreads 上的完整URL
title string 图书标题(小写化)
first_author string 第一作者姓名
first_author_url string 第一作者 Goodreads 个人主页URL
first_author_num_books int64 该作者的作品数量(高产度代理)
first_author_num_followers int64 该作者的粉丝数(流行度代理)
average_rating float64 用户平均评分(1.0 - 5.0)
num_reviews int64 用户提交的文本评论总数
first_published string 首次出版日期字符串(如 "July 16, 2005")
publisher string 出版社名称
language_code string 版本语言(如 "english")
num_pages int64 页数
description string 完整的图书描述文本(小写化并清理)
genres string 逗号分隔的流派标签列表(如 "fiction, fantasy")
format string 版本装帧格式(如 "paperback", "hardcover")
series string 所属系列名称
num_currently_reading int64 标记为“正在阅读”的用户数
num_want_to_read int64 标记为“想读”的用户数

数据划分

数据集没有预定义的训练/验证/测试集划分。所有记录作为一个整体集合存储。

支持的任务与应用

  1. 图书评分预测: 基于其它特征预测图书的 average_rating
  2. 流派分类: 利用图书描述 (description) 等元数据进行流派分类。
  3. 流行度分析: 通过读者参与度指标(num_want_to_read, num_currently_reading)对图书进行排名和比较。
  4. 作者影响力分析: 研究作者的粉丝数、作品数量与图书评分之间的关联。
  5. 阅读行为画像: 利用 num_currently_readingnum_want_to_read 作为读者兴趣分布的代理指标。

使用注意事项

  • 数据时效性: 数据是 2026年7月 的快照,部分信息(如粉丝数、评论数)会随时间变化。数据集只包含了 Goodreads 数据库中前40000本书的数据,并非全部。
  • 解析覆盖: 由于采用降级解析策略,部分字段可能为 null0
  • 语言偏差: 虽然包含语言代码,但大多数记录为英语图书。
  • 作者局限: 只丰富了第一作者的信息,未捕获合著者。
  • 缺失原始评分分布: 数据集仅包含平均评分,不含1星到5星的具体数量。
  • 许可证与合规: 数据集仅供研究和教育目的使用。用户有责任遵守 Goodreads 的服务条款,并禁止用于商业用途

引用信息

如果您在研究中使用了此数据集,请按以下格式引用:

@dataset{pfaha_goodreads_books_2026, author = {pfaha}, title = {Goodreads Books Metadata}, year = {2026}, month = {July}, publisher = {Hugging Face}, url = {https://huggingface.co/datasets/pfaha/goodreads-books} }

搜集汇总
数据集介绍
goodreads-books 数据集图片
构建方式
该数据集通过自研的Python爬虫工具,以Goodreads平台为数据源,于2026年7月完成采集。爬虫从预存的书籍ID列表出发,逐一访问对应页面的URL,依次尝试从Next.js的JSON数据、JSON-LD结构化块以及正则表达式提取三种途径中获取元信息。随后,爬虫进一步抓取第一作者的Goodreads个人页面,以补充作者作品数与粉丝数。采集采用双线程并发,并设置2秒基础延迟与随机抖动,遭遇限流时启用指数退避策略以防触发反爬机制。每成功收集100本书的数据,即生成一个Parquet文件并同步上传至Hugging Face Hub,同时记录已爬取ID以支持断点续传。所有文本字段经过HTML实体转义、Unicode规范化及空白字符压缩等清洗流程,最终产出约381个分区的Parquet文件。
特点
该数据集涵盖丰富的图书元数据与社区互动指标,共包含19个字段。其中,average_rating、num_reviews、num_want_to_read与num_currently_reading等变量,以量化形式呈现图书的口碑与读者需求,可用于社交阅读行为分析。first_author_num_books与first_author_num_followers则首次将作者影响力特征纳入图书数据集,为研究作者知名度与图书评分之间的关联提供了独特视角。此外,genres字段以逗号分隔的多标签形式存储,便于展开细粒度的类别分析。清洗后的description文本保留了完整的图书介绍,支持自然语言处理任务。数据以无预定义划分的单一集合存储,每个分区文件大小均控制在100条记录以内,方便按需加载与混洗。
使用方法
用户可通过Hugging Face的datasets库直接加载该数据集,使用load_dataset('pfaha/goodreads-books')即可获取全部记录。亦支持利用pandas与Hugging Face Hub的文件系统,通过glob模式匹配读取所有books-part*.parquet文件,随后进行横向拼接以得到完整数据框。在分析层面,可基于average_rating构建图书评分预测的回归任务,或利用description与genres字段训练文本分类模型。也可将num_want_to_read与num_currently_reading作为热度代理变量,用于书籍流行度排序。丰富的作者信息字段为作者影响力分析提供了天然素材。使用者须根据具体研究目标自行划分训练集、验证集与测试集,并注意数据采集的时间快照特性,避免将动态指标用于预测未来场景。
背景与挑战
背景概述
Goodreads Books Metadata数据集于2026年7月创建,由独立研究者pfaha通过爬虫技术从全球知名社交阅读平台Goodreads上采集而来。该数据集涵盖约40,000本图书的丰富元数据,包括书目信息、用户评分、读者参与信号(如“正在阅读”和“想读”人数)、作者统计及流派标签等。其核心研究问题聚焦于揭示集体阅读偏好、评分动态及图书流行度模式,旨在为计算社会科学与推荐系统研究提供真实世界的结构化语料。该数据集因汇聚了大规模社群智慧,对理解在线阅读行为、作者影响力以及图书市场趋势具有重要参考价值,已成为图书元数据分析领域的一个典型基准资源。
当前挑战
该数据集所解决的领域核心挑战在于如何从海量、动态的社交平台数据中系统性地量化图书的流行度与读者偏好,然而其构建过程亦面临多重挑战。首先,数据采集需应对反爬虫机制,通过设置请求延迟、随机抖动及指数退避策略规避封禁,确保数据的完整性与道德合规性。其次,数据解析需处理Next.js渲染页面的结构化数据与多种降级提取策略之间的歧义,部分字段(如页数、出版社)可能因解析失败而缺失。此外,数据集仅为时间快照,无法反映实时变化(如评分、粉丝数),且仅捕获首位作者的信息,忽略了合著者及评分分布等细粒度特征,限制了因果推断的深度。
常用场景
经典使用场景
Goodreads Books Metadata数据集汇聚了来自全球知名社交阅读平台Goodreads的海量图书元数据,为图书评分预测、读者行为分析与流行度研究提供了极具价值的真实语料。研究者可基于该数据训练回归模型,利用书籍的页数、作者影响力、读者参与度等特征预测其平均评分;亦可借助描述文本与流派标签构建分类器,实现图书类型的自动识别。这一资源为理解集体阅读偏好与评分机制奠定了坚实基础,成为计算社会科学与推荐系统领域不可多得的实证来源。
衍生相关工作
围绕该数据集已催生一系列经典衍生工作。研究者利用其构建了基于多模态特征的图书评分预测模型,验证了作者社会资本对评分的显著解释力;也有工作以流派分类任务为依托,探索了描述文本与元数据融合的文本表示学习方法。此外,部分学者通过用户参与度信号构建了图书流行度预测基准,并与传统基于历史评分的推荐方法进行对比。这些工作不仅丰富了社交平台数据挖掘的研究范式,也为后续利用社群智慧进行内容评估奠定了基础。
数据集最近研究
最新研究方向
当前,Goodreads Books Metadata数据集在前沿研究中主要被应用于揭示社交阅读平台上的集体阅读偏好与评分动力学。研究者借助丰富的元数据与读者参与度信号(如当前阅读人数、想读人数),深入探析影响书籍平均评分的关键因素,以及作者影响力(关注者与作品数量)与书籍流行度的相关性。此外,该数据集亦成为分析阅读行为模式、进行热门书籍排行与类型分类的热门资源,结合社区推荐系统研究,助力理解数字阅读生态中的用户决策与口碑传播机制。其跨学科价值在于为计算社会科学与数字人文学科提供了可复现、高细粒度的实证基础。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务