Serper 搜索¶
Serper 搜索提供了通过 Serper API 获取 Google 搜索结果的功能。
类概览¶
SerperSearch- 提供 Serper 搜索功能的类
详细 API¶
SerperSearch 类¶
SerperSearch 是一个提供 Serper 搜索功能的类,继承自 BaseSearch。
初始化参数¶
api_keys: Optional[str] = None- 逗号分隔的 Serper API 密钥。如果未提供,将尝试从 SERPER_API_KEY 环境变量获取rate_limit_delay: float = 1.0- 请求之间的延迟时间(秒),用于避免速率限制
方法¶
search(query: str, max_results: int = 5, timeout: float = TIMEOUT_DEFAULT, **kwargs) -> List[SearchResult]: 执行搜索并返回结果_search_impl(query: str, **kwargs) -> List[SearchResult]: 实现具体的搜索逻辑_parse_results(raw_results: Dict) -> List[SearchResult]: 解析原始搜索结果_wait_for_rate_limit(): 等待速率限制
设置¶
- 在 https://serper.dev/ 注册以获取 API 密钥
- 设置环境变量:
免费额度¶
- 每月 2,500 次免费查询
- 无需信用卡
免费额度政策
所有免费额度信息可能因供应商政策变更而有所不同。信息在编写时是准确的。
使用示例¶
基本使用¶
from toolregistry_hub.websearch import SerperSearch
# 创建 Serper 搜索实例
serper_search = SerperSearch()
# 执行搜索
results = serper_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)
使用多个 API 密钥¶
from toolregistry_hub.websearch import SerperSearch
# 创建使用多个 API 密钥进行负载均衡的搜索实例
api_keys = "key1,key2,key3"
serper_search = SerperSearch(api_keys=api_keys)
# 执行搜索
results = serper_search.search("机器学习教程", max_results=10)
# 处理搜索结果
for result in results:
print(f"标题: {result.title}")
print(f"URL: {result.url}")
print(f"内容: {result.content}")
print("-" * 50)
高级搜索参数¶
from toolregistry_hub.websearch import SerperSearch
serper_search = SerperSearch()
# 使用高级参数执行搜索
results = serper_search.search(
"人工智能",
max_results=15,
gl="cn", # 国家代码
hl="zh", # 语言代码
location="Beijing, China", # 本地化结果的位置
)
for result in results:
print(f"标题: {result.title}")
print(f"URL: {result.url}")
print(f"内容: {result.content}")
print("-" * 50)
API 参数¶
Serper API 支持以下关键字参数:
gl: 国家代码(如 "us", "uk", "cn")hl: 语言代码(如 "en", "zh", "es")location: 位置字符串(如 "Austin, Texas")autocorrect: 启用/禁用拼写纠正(布尔值)page: 结果页码(从 1 开始)num: 每次请求的结果数量(最多 100)
完整的 API 文档请参考:https://serper.dev/playground
特性¶
- Google 搜索结果: 返回 Google 搜索结果
- 速率限制: 内置速率限制以遵守 API 限制
- 多 API 密钥: 支持轮询使用 API 密钥
- 灵活参数: 支持国家、语言和位置定向