Scrape

作者 brightdatae825f02fbcd7无许可证264 个星标收录于 2026年10月8日更新于 2026年10月8日仓库昨天更新

Scrape web content as clean markdown/HTML/JSON via the Bright Data CLI (`bdata scrape`). Use when the user wants to fetch a page, extract content from a list of URLs, or crawl paginated listings. Hands off to `data-feeds` for supported platforms (Amazon, LinkedIn, TikTok, Instagram, YouTube, Reddit, etc.) and to `search` when URLs must be discovered first. Requires the Bright Data CLI; proactively guides install + login if missing.

AI 生成的概览

使用 Bright Data CLI 将网页抓取为干净的 markdown、HTML、JSON 或截图,并包含批处理与验证步骤。

功能
该技能指导代理使用 Bright Data CLI 命令 bdata scrape 抓取一个或多个 URL,输出 markdown、原始 HTML、结构化 JSON 或 PNG 截图。它涵盖安装与认证检查、在单 URL、批量与分页方式之间做选择,以及验证输出非空且不是拦截页面。它还规定了针对重度 JavaScript 或需登录页面的升级路径,并将特定平台或 URL 发现任务移交给其他技能。
适用场景
当用户想要抓取某个页面、从一组 URL 中提取内容,或爬取分页列表时使用。它不适用于 Amazon、LinkedIn、TikTok、Instagram、YouTube、Reddit 等受支持平台,也不适用于仍需先发现 URL 的情况。
运行要求
需要安装 Bright Data CLI(bdata)并通过 bdata login 完成认证,同时需要访问目标站点的网络连接。不附带脚本,仅为说明文档,并包含关于参数、模式与示例的参考文档。

Bright Data — Scrape

Get clean content (markdown, HTML, JSON, screenshot) from one or more URLs via the Bright Data CLI. This skill owns the "fetch raw or lightly-structured content" job. For platform-specific structured data (Amazon, LinkedIn, TikTok, etc.), stop and use data-feeds instead — you'll get clean JSON without selector logic.

Setup gate (run first)

Before any scrape, verify the CLI is installed and authenticated:

bash
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

If either check fails, halt and route the user to skills/bright-data-best-practices/references/cli-setup.md. Do not attempt the legacy curl fallback silently — ask the user first.

Pick your path

SituationAction
Single URLbdata scrape <url> -f markdown
Small list (≤ ~20 URLs)shell loop, 1 at a time (see references/patterns.md)
Larger list (dozens+)xargs -P 4 with parallelism cap (see references/patterns.md)
Paginated listingscrape page 1 → extract next-page URL → append → repeat (see references/examples.md)
JS-heavy / login-gated / interaction-requiredescalate to bdata browser (see brightdata-cli skill)
Amazon, LinkedIn, TikTok, Instagram, YouTube, Reddit, …stop — hand off to data-feeds
No URL yet, just a topichand off to search

Action

Core commands:

bash
# Clean markdown (default)bdata scrape "https://example.com/article" -f markdown -o article.md
# Raw HTML (when you need the DOM)bdata scrape "https://example.com" -f html -o page.html
# Structured JSON (when the Unlocker returns parsed fields)bdata scrape "https://example.com" -f json --pretty -o page.json
# Visual snapshot (saves PNG)bdata scrape "https://example.com" -f screenshot -o page.png
# Geo-targeted (override the exit country)bdata scrape "https://example.com" --country de -f markdown

Full flag reference: references/flags.md [blocked].

Verification gate (run before claiming success)

  1. Non-empty output: test -s "$out_path" — or, for stdout, at least 200 bytes of content.
  2. Not a block page — grep the output for any of these signatures (case-insensitive):
    • Access Denied
    • Just a moment
    • Attention Required
    • Checking your browser
    • captcha
    • cf-browser-verification
    • cloudflare (with < 2KB total body)
  3. Expected markers present for the task: e.g., a product page should contain a price pattern (\$\d); an article should contain at least one <h1> or # heading.
  4. On failure, escalation ladder:
    • Retry with a different --country (e.g., --country de if the origin site is US)
    • Escalate to bdata browser for full JS rendering (hand off to brightdata-cli skill)

Do not report success until all checks above pass.

Red flags

  • Claiming success without inspecting the output.
  • Silencing errors with 2>/dev/null — you'll miss auth failures and rate-limit errors.
  • Running bdata scrape on Amazon/LinkedIn/TikTok/Instagram/YouTube/Reddit URLs — these are supported by data-feeds and return structured data directly. Scraping loses the structure.
  • Scraping the same URL repeatedly in the same task — cache the first result.
  • Looping bdata scrape sequentially for large lists instead of using xargs -P 4 (or similar) with a parallelism cap.
  • Using curl against api.brightdata.com directly — legacy path; only when the CLI isn't available.

References

  • references/flags.md [blocked] — every flag with when-to-use notes.
  • references/patterns.md [blocked] — shell-loop batching, xargs parallelism, pagination recipe, retry/backoff, block-page recovery chain, legacy curl fallback.
  • references/examples.md [blocked] — (1) single page → markdown, (2) batch a list of URLs with parallelism cap, (3) paginated listing, (4) block-page recovery.

来源与署名

来源:brightdata/skills位于skills/scrape提交e825f02

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架