抓取 goodreads.com 的book 页面
今天能从 goodreads.com 返回book 页面的调用,以及自 14 Aug 2026 起从请求日志读出的参数、模式和失败情形。
成功率 99.4% · Aug 2026需要浏览器标准价格 · 1 积分
基于 Crawlbase 测得
August 2026 对每个账户的每个请求统计的成功率:99.4%。URL 模式、国家和失败情况来自自 14 Aug 2026 起的请求日志;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-page%2Fexample-page"from crawlbase import CrawlingAPI api = CrawlingAPI({'token': 'YOUR_JS_TOKEN'}) r = api.get('https://www.goodreads.com/book/example-page/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-page/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 块,包含名称、价格、货币和库存状态,可见标记中也有相同的值。先读这个块,它比页面布局变化得更少。
会出问题的地方及修复方法
自 14 Aug 2026 以来的失败中,站点的响应为:
504:占失败的 100% 504 是超时:页面未在限定时间内完成。重试一次,并让你自己的客户端超时高于该站点显示的响应时间中位数。
定时运行
刷新目录就是一份商品 URL 列表。把它连同回调推送到 Crawler,让它控制调用节奏并重试站点拒绝的请求,然后从 Cloud Storage 读取结果。该站点的响应中位时间为 10.0s。
常见问题
抓取 goodreads.com 需要浏览器吗?
大多数页面需要。JavaScript 令牌调用的成功率为 99.6%,而普通令牌调用为 100%。
在 Crawlbase 上抓取一个 goodreads.com 页面要多少钱?
不用浏览器时为 1 积分。goodreads.com 属于标准等级。
抓取 goodreads.com 应该设置哪个 country?
不需要:大多数成功调用未设置它。
站点名称用于标识配方抓取的页面。Crawlbase 与所列任何站点均无关联。请在以下范围内使用配方: 可接受使用政策.数据测自 August 2026,每月更新