写作与公文
需要抓取网页为 Markdown/HTML/JSON…
适用于已有 URL 后,用 bdata scrape 获取干净内容、批量抓取或爬取分页列表,并确认结果未被拦截。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要抓取网页为 Markdown/HTM特定
解决思路
- 在任何抓取前先运行 Setup gate:`if ! command -v bdata >/dev/null 2>&1; then echo "bdata CLI not installed — see bright-data-best-practices/references/cli-setup.md"; elif ! bdata zones >/dev/null 2>&1; then echo "bdata not authenticated — run: bdata login (or: bdata login --device for SSH)"; fi`。
- 如果上述任一检查失败,停止并引导用户到 `skills/bright-data-best-practices/references/cli-setup.md`;不要尝试静默使用旧版 `curl` 回退,先询问用户。
- 单 URL:运行 `bdata scrape <url> -f markdown`。
- 小列表(≤约 20 URLs):用 shell loop,一次一个,参考 `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`。
- 获取干净 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`。
- 查看完整 flag 参考:`references/flags.md`。
- 声称成功前运行验证:非空输出 `test -s "$out_path"`;如果是 stdout,至少 200 bytes 内容。
- 检查不是 block page:对输出 grep 以下签名(大小写不敏感):`Access Denied`、`Just a moment`、`Attention Required`、`Checking your browser`、`captcha`、`cf-browser-verification`、`cloudflare`(且总 body < 2KB)。
- 检查任务预期标记:例如产品页应包含价格模式 `\$\d`;文章应包含至少一个 `<h1>` 或 `# ` 标题。
- 失败时按升级阶梯:用不同 `--country` 重试(例如原站是美国时用 `--country de`)。
- 失败时继续升级到 `bdata browser` 做完整 JS 渲染(交给 `brightdata-cli` skill)。
- 所有上述检查通过前,不要报告成功。
- 参考 `references/patterns.md`:shell loop 批处理、`xargs` 并行、分页配方、重试/退避、block-page 恢复链、旧版 `curl` 回退。
- 参考 `references/examples.md`:(1) 单页 → markdown,(2) 带并行上限批量 URL,(3) 分页列表,(4) block-page 恢复。
- 不要用 `2>/dev/null` 静默错误——会漏掉认证失败和限流错误。
- 不要对同一 URL 在同一任务中反复抓取——缓存第一次结果。
- 不要对大列表顺序循环 `bdata scrape`;改用 `xargs -P 4`(或类似)并设并行上限。
- 不要直接对 `api.brightdata.com` 使用 `curl`——旧路径;仅在 CLI 不可用时使用。
- 不要在未检查输出的情况下声称成功。
- 不要在 Amazon/LinkedIn/TikTok/Instagram/YouTube/Reddit URL 上运行 `bdata scrape`;这些由 `data-feeds` 支持并直接返回结构化数据,抓取会丢失结构。
适用边界 · 注意事项
- 目标平台是 data-feeds 支持范围(Amazon、LinkedIn、TikTok、Instagram、YouTube、Reddit 等)时,不要用本技能,应交给 data-feeds。
- 还没有 URL、只有主题时,不适用;应先交给 search 发现 URL。
- 需要 JS 重度渲染、登录门控或交互时,不适用;应升级到 bdata browser(brightdata-cli skill)。