抓取 goodreads.com 的book 页面
今天能从 goodreads.com 返回book 页面的调用,以及自 2026年8月14日 起从请求日志读出的参数、模式和失败情形。 最近测试于 2026年9月6日。
关于 goodreads.com
goodreads.com 这样描述自己:“发现并阅读更多您会喜爱的书籍,并记录您想读的书。加入 Goodreads,成为全球最大爱书人社区的一员”。
其 robots.txt 指定了 16 个站点地图,并禁止 12 个路径,其中包括 /admin, /api, /ebooks。 它要求爬虫在请求之间等待 5 秒。
基于 Crawlbase 测得
2026年8月 对每个账户的每个请求统计的成功率:99.4%。URL 模式、国家和失败情况来自自 2026年8月14日 起的请求日志;97.5% 的成功调用使用了 JavaScript 令牌,响应中位时间为 10.0s。
在 Cookbook 的 3 个图书音频站点中,goodreads.com 按成功率排在第 2 位(共 3 个);类别中位数为 99.4%。 其响应中位时间 10.0s 与类别中位数 10.0s 相当。 3 个站点中有 1 个接受普通令牌;这个站点需要 JavaScript 令牌。
调用
商品页是各账户在此抓取最多的页面形态,附带最常成功的国家和令牌。请把占位路径换成站点上真实的商品 URL。
curl "https://api.crawlbase.com/?token=YOUR_JS_TOKEN&url=https%3A%2F%2Fwww.goodreads.com%2Fbook%2Fexample-section%2Fexample-page"from crawlbase import CrawlingAPI api = CrawlingAPI({'token': 'YOUR_JS_TOKEN'}) r = api.get('https://www.goodreads.com/book/example-section/example-page') html = r['body']
const { CrawlingAPI } = require('crawlbase'); const api = new CrawlingAPI({ token: 'YOUR_JS_TOKEN' }); const r = await api.get('https://www.goodreads.com/book/example-section/example-page');
关键参数
| 参数 | 设置为 | 原因 |
|---|---|---|
country | 不设置 | 大多数成功调用未设置 country(100%),成功率为 99.6%。 |
javascript | 使用 JavaScript 令牌 | 95.6% 的调用使用 JavaScript 令牌,成功率为 99.6%。普通令牌的尝试次数太少(22 次调用),无法下结论。 |
各账户抓取的 URL 模式
| 模式 | 成功占比 | JavaScript 令牌 | Country | 查询参数 |
|---|---|---|---|---|
/book/{slug}/{slug} | 49.0% | 100% | 无 | from_choice |
/author/{slug}/{slug} | 44.5% | 100% | 无 | 无 |
/book/{slug} | 3.3% | 0.0% | 无 | category, country, duration |
/book/{slug}/{id} | 2.0% | 100% | 无 | 无 |
你能得到的字段
商品页通常带有 ld+json 的 Product 块,包含名称、价格、货币和库存状态,可见标记中也有相同的值。先读这个块,它比页面布局变化得更少。
会出问题的地方及修复方法
自 2026年8月14日 以来的失败中,站点的响应为:
定时运行
刷新目录就是一份商品 URL 列表。把它连同回调推送到 Crawler,让它控制调用节奏并重试站点拒绝的请求,然后从 Cloud Storage 读取结果。该站点的响应中位时间为 10.0s。
常见问题
抓取 goodreads.com 需要浏览器吗?
大多数页面需要。JavaScript 令牌调用的成功率为 99.6%,而普通令牌调用为 100%。
在 Crawlbase 上抓取一个 goodreads.com 页面要多少钱?
不用浏览器时为 1 积分。goodreads.com 属于标准等级。
抓取 goodreads.com 应该设置哪个 country?
不需要:大多数成功调用未设置它。
goodreads.com 上的其他页面
goodreads.com 在自己的站点地图中列出的页面,由 Crawlbase 于 2026年9月6日 抓取,并在连续 2 次运行中得到验证。每一行都是返回该页面及其内容的最便宜调用。
| 页面 | 示例 | 令牌 | 国家 | 中位数 |
|---|---|---|---|---|
首页/ | goodreads.com/ | 普通 | 无 | 2.6s |
个人主页/author/{slug}/{slug} | goodreads.com/author/show/61105.Dr_Seuss | 普通 | 无 | 2.0s |