网络搜索工具¶
网络搜索工具提供了通过各种搜索引擎进行网络搜索的功能。该模块支持多种搜索引擎,包括 Brave、Serper、SearXNG、Tavily 和 Google(通过 BrightData/Scrapeless)。
Bing 搜索已移除
Bing 搜索因频繁遇到机器人检测问题已被移除。请使用其他搜索提供商。
免费额度汇总¶
以下是各搜索提供商免费额度的快速概览:
| 提供商 | 免费额度 | 月度限制 | 备注 |
|---|---|---|---|
| Brave Search | 已变更 | 约 1,000 次查询 | 每月赠送 $5 积分(2026年2月起),需要信用卡 |
| Serper | 有 | 2,500 次查询 | Google 搜索结果 |
| Bright Data | 有 | 5,000 次查询 | 无需验证 |
| Tavily | 有 | 1,000 次查询 | AI 优化搜索 |
| Scrapeless | 无 | - | 仅付费计划 |
| SearXNG | 免费 | 无限制 | 自托管,开源 |
最大化免费使用
- 多 API 密钥轮转:所有提供商都支持多个 API 密钥进行负载均衡
- SearXNG 用于高容量:考虑自托管 SearXNG 以获得无限免费搜索
免费额度政策
所有免费额度信息可能因供应商政策变更而有所不同。信息在编写时是准确的。
模块概览¶
网络搜索工具主要包含以下部分:
- 统一网络搜索 (
WebSearch) - 所有搜索引擎的统一入口,支持自动选择、降级和动态引擎发现。参见 统一网络搜索 - 独立搜索引擎 (
websearch) - 直接访问特定搜索引擎(Brave、Tavily、SearXNG 等)
搜索引擎支持¶
当前支持的搜索引擎包括:
- 统一网络搜索 - 一体化入口,支持自动引擎选择和降级
- Brave 搜索 - 使用 Brave 搜索引擎
- Serper 搜索 - 使用 Serper API 获取 Google 搜索结果
- Tavily 搜索 - 使用 Tavily 搜索 API(AI 优化)
- SearXNG 搜索 - 使用 SearXNG 元搜索引擎(注重隐私)
- BrightData 搜索 - 使用 BrightData 获取 Google 搜索结果
- Scrapeless 搜索 - 使用 Scrapeless Universal API,支持多个搜索引擎
- Bing 搜索 - 已移除 — 曾使用 Bing 搜索引擎(v0.6.0 中移除)
基本使用¶
统一入口(推荐)¶
from toolregistry_hub.websearch import WebSearch
# 自动选择最佳可用引擎
ws = WebSearch()
results = ws.search("Python 编程", max_results=5)
for result in results:
print(f"标题: {result.title}")
print(f"URL: {result.url}")
print(f"内容: {result.content}")
print("-" * 50)
# 指定特定引擎
results = ws.search("机器学习", engine="brave", max_results=5)
# 列出可用引擎
engines = ws.list_engines()
直接使用引擎¶
from toolregistry_hub.websearch import BraveSearch, SearXNGSearch, TavilySearch, BrightDataSearch, ScrapelessSearch, SerperSearch
# 使用 Brave 搜索(推荐)
brave_search = BraveSearch()
results = brave_search.search("Python programming", max_results=5)
for result in results:
print(f"标题: {result.title}")
print(f"URL: {result.url}")
print(f"内容: {result.content}")
print(f"评分: {result.score}")
print("-" * 50)
# 使用SearXNG搜索
searxng_search = SearXNGSearch()
results = searxng_search.search("machine learning tutorial", max_results=3)
for result in results:
print(f"标题: {result.title}")
print(f"URL: {result.url}")
print(f"摘要: {result.excerpt}")
print("-" * 50)
# 使用Brave搜索
brave_search = BraveSearch()
results = brave_search.search("artificial intelligence", max_results=5)
for result in results:
print(f"标题: {result.title}")
print(f"URL: {result.url}")
print(f"内容: {result.content}")
print(f"评分: {result.score}")
print("-" * 50)
# 使用Tavily搜索
tavily_search = TavilySearch()
results = tavily_search.search("quantum computing", max_results=5)
for result in results:
print(f"标题: {result.title}")
print(f"URL: {result.url}")
print(f"内容: {result.content}")
print(f"评分: {result.score}")
print("-" * 50)
# 使用Bright Data Google搜索
brightdata_search = BrightDataSearch()
results = brightdata_search.search("web scraping", max_results=5)
for result in results:
print(f"Title: {result.title}")
print(f"URL: {result.url}")
print(f"Content: {result.content}")
print(f"Score: {result.score}")
print("-" * 50)
# 使用Scrapeless Google搜索
scrapeless_search = ScrapelessSearch()
results = scrapeless_search.search("网页抓取", max_results=5)
for result in results:
print(f"标题: {result.title}")
print(f"URL: {result.url}")
print(f"内容: {result.content}")
print(f"评分: {result.score}")
print("-" * 50)
详细文档¶
- 统一网络搜索 - 一体化入口,支持自动引擎选择和降级
- 搜索结果类型 - 搜索结果的数据结构
- 基础搜索类 - 所有搜索引擎的基类
- Brave 搜索 - Brave 搜索引擎的实现
- Serper 搜索 - Serper API 获取 Google 搜索结果的实现
- Tavily 搜索 - Tavily 搜索 API 的实现
- SearXNG 搜索 - SearXNG 搜索引擎的实现
- BrightData 搜索 - BrightData 获取 Google 搜索结果的实现
- Scrapeless 搜索 - Scrapeless DeepSERP API 的实现
- Bing 搜索 - 已移除 Bing 搜索引擎的实现(v0.6.0 中移除)