抓取 tennispro.fr 的商品页
今天能从 tennispro.fr 返回商品页的调用,以及自 2026年8月14日 起从请求日志读出的参数、模式和失败情形。 最近测试于 2026年9月6日。
关于 tennispro.fr
tennispro.fr 这样描述自己:“各大品牌的所有网球装备、网球鞋、网球服、网球拍、网球包、网球线,Nike 网球、adidas 网球、Babolat、asics 网球、wilson 网球……”。
其站点地图在 2 个文件中列出了 25,572 个 URL。 在 25,572 条带日期的条目中,有 25,572 条在最近 30 天内发生变化,最新一条在 2026年9月5日。
其 robots.txt 禁止 12 个路径,其中包括 /app/, /cgi-bin/, /downloader/。 它要求爬虫在请求之间等待 1 秒。
基于 Crawlbase 测得
2026年8月 对每个账户的每个请求统计的成功率:99.1%。URL 模式、国家和失败情况来自自 2026年8月14日 起的请求日志;0.0% 的成功调用使用了 JavaScript 令牌,响应中位时间为 1.6s。
在 Cookbook 的 20 个运动户外站点中,tennispro.fr 按成功率排在第 11 位(共 20 个);类别中位数为 99.2%。 其响应中位时间 1.6s 快于类别中位数 7.1s。 20 个站点中有 12 个接受普通令牌,这个站点也在其中。
调用
商品页是各账户在此抓取最多的页面形态,附带最常成功的国家和令牌。请把占位路径换成站点上真实的商品 URL。
curl "https://api.crawlbase.com/?token=YOUR_TOKEN&url=https%3A%2F%2Fwww.tennispro.fr%2Fexample-page"from crawlbase import CrawlingAPI api = CrawlingAPI({'token': 'YOUR_TOKEN'}) r = api.get('https://www.tennispro.fr/example-page') html = r['body']
const { CrawlingAPI } = require('crawlbase'); const api = new CrawlingAPI({ token: 'YOUR_TOKEN' }); const r = await api.get('https://www.tennispro.fr/example-page');
关键参数
| 参数 | 设置为 | 原因 |
|---|---|---|
country | 不设置 | 大多数成功调用未设置 country(100%),成功率为 99.0%。 |
javascript | 不设置 | 普通令牌调用的成功率为 99.0%,占流量的 100%。浏览器成本更高,而在该站点上没有任何收益。 |
各账户抓取的 URL 模式
| 模式 | 成功占比 | JavaScript 令牌 | Country | 查询参数 |
|---|---|---|---|---|
/{slug} | 75.5% | 0.0% | 无 | 无 |
/{slug}/{slug}/{slug} | 24.3% | 0.0% | 无 | 无 |
你能得到的字段
商品页通常带有 ld+json 的 Product 块,包含名称、价格、货币和库存状态,可见标记中也有相同的值。先读这个块,它比页面布局变化得更少。
会出问题的地方及修复方法
自 2026年8月14日 以来的失败中,站点的响应为:
定时运行
刷新目录就是一份商品 URL 列表。把它连同回调推送到 Crawler,让它控制调用节奏并重试站点拒绝的请求,然后从 Cloud Storage 读取结果。该站点的响应中位时间为 1.6s。
常见问题
抓取 tennispro.fr 需要浏览器吗?
不需要。99.0% 的普通令牌调用成功,各账户 100% 的流量不使用浏览器。
在 Crawlbase 上抓取一个 tennispro.fr 页面要多少钱?
不用浏览器时为 1 积分。tennispro.fr 属于标准等级。
抓取 tennispro.fr 应该设置哪个 country?
不需要:大多数成功调用未设置它。