跳转至

网络搜索工具

网络搜索工具提供了通过各种搜索引擎进行网络搜索的功能。该模块支持多种搜索引擎,包括 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 以获得无限免费搜索

免费额度政策

所有免费额度信息可能因供应商政策变更而有所不同。信息在编写时是准确的。

模块概览

网络搜索工具主要包含以下部分:

  1. 统一网络搜索 (WebSearch) - 所有搜索引擎的统一入口,支持自动选择、降级和动态引擎发现。参见 统一网络搜索
  2. 独立搜索引擎 (websearch) - 直接访问特定搜索引擎(Brave、Tavily、SearXNG 等)

搜索引擎支持

当前支持的搜索引擎包括:

基本使用

统一入口(推荐)

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)

详细文档