自动化与脚本
需要从终端抓取网页、搜索 SERP 或提取 40+…
当你要在终端或编码代理中用 Bright Data 完成网页抓取、搜索引擎查询、平台数据管道、代理区与预算查看时,使用 bdata/brightdata CLI。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
需要从终端抓取网页、搜索 SERP 或提特定
解决思路
- 安装 CLI:macOS/Linux 运行 `curl -fsSL https://cli.brightdata.com/install.sh | bash`;Windows 或任意平台手动安装运行 `npm install -g @brightdata/cli`。
- 不安装时一次性使用:运行 `npx --yes --package @brightdata/cli brightdata <command>`。
- 确保 Node.js >= 20;安装后 `brightdata` 和 `bdata` 两个命令等价可用。
- 首次使用前检查认证;未登录则运行一次性登录 `bdata login`:打开浏览器 OAuth 认证、本地保存 API key、自动创建所需代理区 `cli_unlocker` 和 `cli_browser`、设置默认配置。
- 在无浏览器/SSH 环境使用 `bdata login --device` 完成设备登录。
- 非交互直接 API key 认证:运行 `bdata login --api-key <key>`。
- 验证设置:运行 `bdata config` 查看配置。
- 查看完整命令参考和所有 flags/options/examples:阅读 `references/commands.md`。
- 查看 40+ pipeline 类型及参数:阅读 `references/pipelines.md`。
- 快速命令总览:`bdata scrape <url>` 抓取任意 URL;`bdata search "<query>"` 搜索 Google/Bing/Yandex;`bdata pipelines <type> [params]` 从 40+ 平台提取结构化数据;`bdata pipelines list` 列出 pipeline 类型;`bdata status <job-id>` 查看异步任务状态;`bdata zones` 列出代理区;`bdata budget` 查看余额和成本;`bdata skill add` 安装 AI agent skills;`bdata skill list` 列出 skills;`bdata config` 查看/设置配置;`bdata login` 认证;`bdata version` 显示 CLI 版本和系统信息。
- 抓取网页:默认 `bdata scrape https://example.com` 返回干净 markdown;`-f html` 获取 raw HTML;`-f json` 获取结构化 JSON;`-f screenshot -o page.png` 截图;`--country us` 按美国地理目标抓取;`-o page.md` 保存到文件;重页面用 `--async` 异步模式。
- 搜索:`bdata search "web scraping best practices"` 返回格式化表格;`--json` 输出原始 JSON 便于管道处理;`--engine bing` 搜索 Bing;`--country de --language de` 本地化搜索;`--type news` 新闻搜索;`bdata search "open source tools" --json | jq -r '.organic[].link'` 只提取 URL。
- 平台 pipeline 结构化提取:`bdata pipelines linkedin_person_profile "https://linkedin.com/in/username"` 提取 LinkedIn 个人资料;`bdata pipelines amazon_product "https://amazon.com/dp/B09V3KXJPB"` 提取 Amazon 产品;`bdata pipelines instagram_profiles "https://instagram.com/username"` 提取 Instagram 资料;`bdata pipelines amazon_product_search "laptop" "https://amazon.com"` 做 Amazon 搜索;`bdata pipelines youtube_comments "https://youtube.com/watch?v=..." 50` 取 YouTube 前 50 条评论;`bdata pipelines google_maps_reviews "https://maps.google.com/..." 7` 取 Google Maps 最近 7 天评论;`--format csv -o product.csv` 输出 CSV;`bdata pipelines list` 列出全部 pipeline 类型。
- 检查异步任务状态:`bdata status <job-id>` 快速查看;`bdata status <job-id> --wait` 等待完成;`bdata status <job-id> --wait --timeout 300` 自定义超时。
- 查看预算和代理区:`bdata budget` 查看账户余额;`bdata budget balance` 查看含待处理费用的详细余额;`bdata budget zones` 查看所有代理区成本和带宽;`bdata budget zone my_zone` 查看特定代理区成本;`bdata budget zones --from 2024-01-01T00:00:00 --to 2024-02-01T00:00:00` 按日期范围过滤;`bdata zones` 列出所有代理区;`bdata zones info cli_unlocker` 查看代理区详情。
- 配置默认值:`bdata config` 查看全部配置;`bdata config set default_zone_unlocker my_zone` 设置默认 Web Unlocker 区;`bdata config set default_format json` 设置默认输出格式。
- 安装 AI agent skills:`bdata skill add` 交互选择 skills 和目标 agents;`bdata skill add scrape` 安装指定 skill;`bdata skill list` 列出可用 skills。
- 输出模式:无 flag 时返回带颜色的易读格式;`--json` 输出紧凑 JSON 到 stdout;`--pretty` 输出缩进 JSON 到 stdout;`-o <path>` 写入文件并根据扩展名自动检测格式;管道输出时自动禁用颜色和 spinner。
- 链式命令:`bdata search "top open source projects" --json | jq -r '.organic[0].link' | xargs bdata scrape` 搜索→提取第一个 URL→抓取;`bdata scrape https://docs.github.com | glow -` 抓取并用 markdown reader 查看;`bdata pipelines amazon_product "https://amazon.com/dp/xxx" --format csv > product.csv` 将 Amazon 产品数据输出为 CSV。
- 环境变量覆盖存储配置:`BRIGHTDATA_API_KEY` 设置 API key(完全跳过登录);`BRIGHTDATA_UNLOCKER_ZONE` 设置默认 Web Unlocker zone;`BRIGHTDATA_SERP_ZONE` 设置默认 SERP zone;`BRIGHTDATA_POLLING_TIMEOUT` 设置轮询超时秒数。
- 故障排除:CLI not found 时安装 `npm i -g @brightdata/cli` 或 `curl -fsSL https://cli.brightdata.com/install.sh | bash`;出现 "No Web Unlocker zone specified" 时运行 `bdata config set default_zone_unlocker <zone>` 或重新 `bdata login`;出现 "Invalid or expired API key" 时运行 `bdata login`;出现 "Access denied" 时在 Bright Data 控制面板检查 zone 权限;出现 "Rate limit exceeded" 时等待重试或对大任务使用 `--async`;异步任务超时用 `--timeout 1200` 或 `BRIGHTDATA_POLLING_TIMEOUT=1200` 增加。
- 遵循设计原则:一次登录后自动运行;登录自动创建 `cli_unlocker` 和 `cli_browser` zones;智能默认值(markdown 输出、按文件扩展名自动检测格式、仅 TTY 显示颜色);管道友好(JSON + jq 自动化,管道中禁用颜色/spinner);支持异步后台重任务(`--async` + `status --wait`);npm 包 `@brightdata/cli` 可全局安装或通过 npx 使用。
适用边界 · 注意事项
- 没有 Bright Data 账号、API key 或不愿使用其托管/付费服务时不要用。
- 环境无 Node.js >= 20,或完全离线、不允许把数据发往第三方云服务时不要用。
- 目标平台不在 Bright Data 支持的 40+ pipeline/抓取范围内,或不能接受 OAuth/设备登录流程时不要用。