📦 Scrape — 抓取
v1.0.0通过 Bright Data CLI (`bdata scrape`) 将网页内容抓取为干净的 markdown/HTML/JSON。当用户想要获取页面、从列表中提取内容时使用。
运行时依赖
安装命令
点击复制技能文档
Bright Data — 抓取 通过 Bright Data CLI 从一个或多个 URL 获取干净内容(markdown、HTML、JSON、截图)。 本技能负责“获取原始或轻度结构化内容”任务。 如需平台专属结构化数据(Amazon、LinkedIn、TikTok 等),立即改用 data-feeds,可直接获得干净 JSON,无需 selector 逻辑。
设置门禁(先跑) 任何抓取前,先验证 CLI 已安装并认证:
if ! command -v bdata >/dev/null 2>&1; then
echo "bdata CLI 未安装 — 见 bright-data-best-practices/references/cli-setup.md"
elif ! bdata zones >/dev/null 2>&1; then
echo "bdata 未认证 — 运行:bdata login(或:bdata login --device 用于 SSH)"
fi
任一检查失败即停止,并引导用户到 skills/bright-data-best-practices/references/cli-setup.md。
不要静默回退到旧版 curl,必须先询问用户。选择路径
| 场景 | 操作 |
|---|---|
| 单 URL | bdata scrape -f markdown |
| 小列表(≤ ~20 URL) | shell 循环,一次一个(见 references/patterns.md) |
| 大列表(几十+) | xargs -P 4 并行上限(见 references/patterns.md) |
| 分页列表 | 先抓第 1 页 → 提取下一页 URL → 追加 → 重复(见 references/examples.md) |
| JS 重 / 需登录 / 需交互 | 升级到 bdata browser(见 brightdata-cli skill) |
| Amazon、LinkedIn、TikTok、Instagram、YouTube、Reddit … | 停止 — 转交 data-feeds |
| 暂无 URL,仅主题 | 转交 search |
完整 flag 参考:references/flags.md。# 干净 markdown(默认) bdata scrape "https://example.com/article" -f markdown -o article.md# 原始 HTML(需 DOM) bdata scrape "https://example.com" -f html -o page.html
# 结构化 JSON(Unlocker 已解析字段) bdata scrape "https://example.com" -f json --pretty -o page.json
# 可视快照(保存 PNG) bdata scrape "https://example.com" -f screenshot -o page.png
# 指定国家出口 bdata scrape "https://example.com" --country de -f markdown
验证门禁(宣称成功前必跑)
- 非空输出:
test -s "$out_path";或 stdout ≥ 200 字节。 - 非拦截页 — 输出中不含(忽略大小写):
- 任务所需标记存在:如商品页应含价格
\$\d;文章至少一个或#标题。
失败升级链:
- 换
--country重试(如原站 US,可试--country de)。 - 升级到
bdata browser做完整 JS 渲染(转交 brightdata-cli skill)。
红线
- 未检查输出就报成功。
- 用
2>/dev/null静默错误 — 会漏掉认证失败与限流。 - 对 Amazon/LinkedIn/TikTok/Instagram/YouTube/Reddit URL 跑
bdata scrape— 这些 data-feeds 直接返结构化数据,抓取会丢结构。 - 同一任务内反复抓同一 URL — 应缓存首次结果。
- 大列表用顺序循环而非
xargs -P 4并行。 - 直接 curl api.brightdata.com — 仅 CLI 不可用时才考虑。
参考资料 references/flags.md — 全部 flag 与使用场景。 references/patterns.md — shell 循环批处理、xargs 并行、分页方案、重试/退避、拦截页恢复链、旧版 curl 回退。 references/examples.md — 单页转 markdown、批量并行、分页抓取、拦截页恢复示例。