Google Search API 介绍
1. 概述
Google Search API(Custom Search JSON API)是 Google 提供的一种 API,允许开发者在自己的应用或网站中集成 Google 搜索功能。它可以返回 Google 搜索结果,包括网页、图片、新闻等,并支持自定义搜索引擎(CSE,Custom Search Engine)。
官方文档: Google Custom Search API
2. 特点
- 强大的搜索能力:依托 Google 的搜索引擎技术,提供高质量的搜索结果。
- 可定制:可以创建自定义搜索引擎,指定搜索的站点范围、关键词等。
- 支持不同的数据类型:可以获取网页、图片、新闻等搜索结果。
- RESTful API:使用标准的 HTTP 请求,返回 JSON 格式数据,方便集成。
- 免费 & 付费计划:
- 免费版本每天最多 100 个请求。
- 付费版本支持更多的请求配额(最高 10,000 个请求/天)。
- 与 Google 生态兼容:可结合 Google Cloud 其他服务,如 BigQuery、Google Sheets 等。
3. 用法
3.1. 获取 API Key 和 Custom Search Engine ID(cx)
使用 API 之前,需要完成以下步骤:
- 访问 Google Cloud Console 并创建一个项目。
- 在 Google Custom Search Engine 创建一个自定义搜索引擎(CSE)。
- 获取 Custom Search Engine ID (cx),在 CSE 管理页面查看。
- 在 Google API Console 启用 Custom Search JSON API。
- 生成 API Key 并记录。
3.2. 发送搜索请求
API 请求的基本格式:
GET https://www.googleapis.com/customsearch/v1?q=搜索词&key=YOUR_API_KEY&cx=YOUR_CX_ID
参数说明:
q
:搜索关键词。key
:API 密钥。cx
:自定义搜索引擎 ID。- 其他可选参数:
num
:返回结果数量(1-10)。start
:分页参数,指定从第几条结果开始。siteSearch
:限制搜索范围到特定网站。searchType=image
:返回图片搜索结果。
4. 使用场景
Google Search API 适用于多种应用场景,包括:
- 网站内部搜索:为网站或应用集成 Google 搜索功能,提高用户体验。
- 自动化数据采集:从 Google 结果中提取数据,进行数据分析或爬取。
- 知识管理系统:为内部工具或知识库提供搜索能力。
- 智能问答系统:结合 Google 搜索结果,提高 AI 助手的回答准确性。
5. 示例代码
5.1. 使用 Python 进行网页搜索
import requests
API_KEY = "YOUR_API_KEY"
CX = "YOUR_CX_ID"
QUERY = "深度学习"
url = f"https://www.googleapis.com/customsearch/v1?q={QUERY}&key={API_KEY}&cx={CX}"
response = requests.get(url)
data = response.json()
# 提取并打印搜索结果
for item in data.get("items", []):
print(f"标题: {item['title']}")
print(f"链接: {item['link']}")
print(f"摘要: {item['snippet']}\n")
5.2. 获取图片搜索结果
url = f"https://www.googleapis.com/customsearch/v1?q={QUERY}&searchType=image&key={API_KEY}&cx={CX}"
response = requests.get(url)
data = response.json()
# 提取并打印图片结果
for item in data.get("items", []):
print(f"图片标题: {item['title']}")
print(f"图片链接: {item['link']}\n")
6. 限制与注意事项
- 配额限制:免费版每天最多 100 次请求,高级版最多 10,000 次请求/天。
- 商业用途:如果需要大规模使用,建议购买更高的 API 访问配额。
- 内容限制:API 不能用于爬取受限或禁止的内容,需遵守 Google 的使用政策。
7. 结论
Google Search API 提供了强大的搜索功能,适用于多种场景,尤其是需要集成 Google 搜索能力的应用。通过合理使用 API,可以构建强大的搜索引擎,提升信息获取效率。
如果需要大规模搜索或数据分析,可以结合 Google Cloud 进行更深度的集成。