关于 search
Bright Data — Search 是用于网页检索的技能,提供关键词搜索和按意图排序的语义发现,面向需要搜索结果或结果页面内容的任务。它通过 bdata CLI 提供不同搜索类型与分页选项。
主要功能
- 01Google、Bing、Yandex 关键词搜索
- 02按意图进行语义发现
- 03获取搜索结果页面内容
- 04新闻、图片和购物搜索
- 05支持分页及地区语言设置
适用场景
- 01查看某个关键词的搜索排名
- 02按主题意图发现相关网页
- 03获取搜索结果及页面正文
- 04检索特定地区的新闻或图片
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ brightdata/ skills --skill search安装后在 Claude Code 中输入/search确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/examples.mdflags.mdpatterns.md详细介绍
Bright Data — 搜索
在网络上查找内容。此技能包含两个命令:
bdata search— 经典关键词 SERP(Google/Bing/Yandex)。适用于查找“关键词 X 的排名情况”。bdata discover— 按 AI 意图排序的发现功能,可选包含页面内容。适用于查找“符合意图 Z 的主题 Y 相关页面”。
要获取已知平台(Amazon、LinkedIn、TikTok,……)的结构化数据,请停止并改用 data-feeds。
设置关卡(先运行)
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。
选择路径
| 情况 | 操作 |
|---|---|
| 单个关键词查询,仅需 SERP | bdata search "<query>" --engine google --json --pretty |
| 分页 SERP(更多结果) | 循环执行 --page 0、--page 1,……(从 0 开始索引) |
| 多个查询 | 使用查询文件执行 shell 循环 |
| 按意图排序/语义查询(非关键词) | bdata discover "<query>" --intent "<intent>" --num-results 20 |
| 希望一次获取结果和页面正文 | bdata discover ... --include-content |
| 新闻/图片/购物 SERP | bdata search "<query>" --type news(或 images、shopping) |
| 需要 Amazon/LinkedIn/TikTok/……的结构化数据 | 停止 — 转交给 data-feeds |
| 已有 URL,需要获取内容 | 转交给 scrape |
操作
核心命令:
# Google SERP, structured JSON
bdata search "site:example.com privacy policy" --engine google --json --pretty
# Localized Bing (German results, German language)
bdata search "datenschutz" --engine bing --country de --language de --json
# Second page of results (0-indexed)
bdata search "machine learning papers" --page 1 --json
# Mobile SERP (rankings differ from desktop)
bdata search "best coffee shops" --device mobile --json
# News vertical
bdata search "openai" --type news --json --pretty
# Intent-ranked discovery
bdata discover "enterprise LLM platforms" \
--intent "vendor pages with pricing" \
--num-results 15 --json
# Discovery with page content in markdown
bdata discover "webhook best practices" \
--include-content --num-results 10 -o results.json
# Date-filtered discovery
bdata discover "react server components" \
--start-date 2025-01-01 --end-date 2025-12-31 --num-results 20
完整标志参考:references/flags.md。
search 与 discover——选择合适的命令
| 你的需求 | 使用 |
|---|---|
| “Google 对这个确切关键词的排名结果” | search |
| “符合此含义/意图的页面” | discover |
| “新闻/图片/购物垂直领域 SERP” | search --type <vertical> |
| “一次调用获取结果和页面正文” | discover --include-content |
| “跨查询去重/语义排序” | discover |
验证关卡
- JSON 能正常解析:
jq . <output>返回 0。 - 结果数组非空 — 如果为空,说明该查询确实没有结果;请放宽查询条件后重新运行。结果为空时,不要在未告知用户的情况下宣称成功。
- 必需字段存在:
search:结果位于.organic[];每项包含title和linkdiscover:结果位于.results[];每项包含title和link;如果使用--include-content,还应包含content
- 对于
discover --include-content:content字段中不得包含拦截页面特征(与 scrape 使用相同列表,不区分大小写):Access DeniedJust a momentAttention RequiredChecking your browsercaptchacf-browser-verificationcloudflare(正文总长度 < 2 KB)
- 地理位置检查: 如果用户期望特定国家/地区的结果,请检查热门结果的顶级域名和语言。如果本地化不正确,请使用显式的
--country和--language重新运行。
注意事项
- 使用
search从 Amazon、LinkedIn、TikTok 等网站获取内容,而data-feeds可以通过一次调用返回干净的结构化数据。 - 不要盲目抓取每个 SERP 结果——先筛选(域名允许列表、标题中的关键词、相关性启发式规则)。
- 不要混淆
search(关键词)和discover(语义)。它们回答的问题不同。 - 执行多个查询后,在抓取前先对各结果集中的 URL 去重。
- 不要假定 SERP 排序普遍适用——它会因地理位置和设备而个性化。为确保可复现性,务必显式设置
--country和--device。 - 不要把
--page当作结果数量——它是页索引,不是上限。每页返回约 10 个结果。 - 不要假定 SERP 结果位于
.results[]——对于bdata search,结果位于.organic[]。(discover使用.results[]。) - 使用
discover时,不要不加考虑地将--num-results设为100;流水线会持续轮询,直到找到指定数量的结果,因此可能会很慢。
参考资料
references/flags.md—search和discover的完整标志,以及使用时机说明。references/patterns.md— 多查询去重、SERP → 过滤 → 抓取流程、search与discover的选择、旧版curl回退方案、通用验证清单。references/examples.md— (1)单个 Google 查询,(2)本地化 Bing 查询,(3)批量查询并去重为 URL 列表,(4)discover --include-content端到端示例。
评论
支持 Markdown