SuperAPI AI 工具集

dribl-crawling

编程与开发

查看项目

更新于 10-15 20:35

技能介绍

用途:从受 Cloudflare 保护的 SPA 站点 https://fv.dribl.com/fixtures/ 抓取俱乐部与赛程数据,保持数据更新。

主要能力:采用两阶段模式。提取阶段用真实 Chrome 浏览器建立 Cloudflare 通行凭证,再通过 page.evaluate(fetch(...)) 直接调用 API,按 round 参数逐轮抓取,避免 SPA 默认日期窗口在球队赛季中重新分级时丢失轮次;原始 JSON 按轮保存为 chunk 文件。转换阶段读取 chunk,用 Zod 校验、转换、去重后输出。同时抓取积分榜(api/ladders)。

使用方式:ID 解析器从 list 端点解析租户、赛季、赛事、联赛的哈希 ID 并缓存到 data/external/dribl-ids.json。CLI 示例:pnpm run crawl:fixtures;指定球队 pnpm run crawl:fixtures -- -t under-12-girls;手动模式 pnpm run crawl:fixtures -- -t my-team -l "Girls' West 12B"。CI 中运行 npx playwright install --with-deps chrome 与 npm run crawl:fixtures:ci(Linux 需 xvfb)。

适用场景:维护 Williamstown 相关球队的俱乐部、赛程与积分榜数据。

限制:原始 curl 会返回 HTTP 403,必须依赖浏览器上下文;每轮空轮连续 2 次即停止,最多 40 轮;联赛名带 (Removed) 前缀需跳过;部分赛事无积分榜。具体收费、平台支持范围等资料暂未提供。