# 配置 API Key 和 API 端點
API_KEY = "your_api_key_here"
API_ENDPOINT = "https://google.serper.dev/search"

# 準(zhǔn)備請求數(shù)據(jù)
params = {
"q": "DeepL 翻譯服務(wù)", # 搜索關(guān)鍵詞
"gl": "cn", # 地區(qū)代碼
"hl": "zh-CN", # 語言代碼
"autocorrect": "true", # 自動糾正拼寫
"num": 10 # 返回結(jié)果數(shù)量
}

headers = {
"X-API-KEY": API_KEY,
"Content-Type": "application/json"
}

# 發(fā)送 GET 請求
response = requests.get(API_ENDPOINT, headers=headers, params=params)

# 檢查響應(yīng)
if response.status_code == 200:
result = response.json()
print("Search Results:", result)
else:
print("Error:", response.status_code, response.text)

3.3 解析響應(yīng)數(shù)據(jù)

Serper API返回的數(shù)據(jù)是一個 JSON 格式的對象,包含了大量的搜索引擎結(jié)果信息。以下是一個示例響應(yīng)數(shù)據(jù)的結(jié)構(gòu):

JSON復(fù)制

{
"title": "DeepL 翻譯服務(wù)",
"link": "https://www.deepl.com/zh/translator",
"snippet": "DeepL 提供高質(zhì)量的翻譯服務(wù),支持多種語言。",
"position": 1,
"ranked": true
}

您可以根據(jù)需要解析這些數(shù)據(jù),提取有用的信息。例如,提取標(biāo)題和鏈接:

Python復(fù)制

for item in result["organic"]:
print("Title:", item["title"])
print("Link:", item["link"])
print("Snippet:", item["snippet"])
print("Position:", item["position"])
print("-" * 40)

3.4 處理錯誤和異常

在使用 Serper API 時,可能會遇到一些錯誤和異常。以下是一些常見的錯誤及其處理方法:

Python復(fù)制

if response.status_code == 401:
print("Error: Invalid API Key")

Python復(fù)制

if response.status_code == 400:
print("Error: Bad Request", response.text)

Python復(fù)制

if response.status_code == 500:
print("Error: Internal Server Error", response.text)

四、Serper API 的高級應(yīng)用

4.1 自動化任務(wù)

Serper API可以用于自動化任務(wù),例如定期獲取搜索引擎結(jié)果并進行分析。以下是一個簡單的自動化腳本示例,使用 schedule 庫定期執(zhí)行搜索任務(wù):

Python復(fù)制

import requests
import schedule
import time

def search_task():
API_KEY = "your_api_key_here"
API_ENDPOINT = "https://google.serper.dev/search"
params = {
"q": "DeepL 翻譯服務(wù)",
"gl": "cn",
"hl": "zh-CN",
"autocorrect": "true",
"num": 10
}
headers = {
"X-API-KEY": API_KEY,
"Content-Type": "application/json"
}
response = requests.get(API_ENDPOINT, headers=headers, params=params)
if response.status_code == 200:
result = response.json()
print("Search Results:", result)
else:
print("Error:", response.status_code, response.text)

# 每天執(zhí)行一次搜索任務(wù)
schedule.every().day.at("08:00").do(search_task)

while True:
schedule.run_pending()
time.sleep(1)

4.2 數(shù)據(jù)分析

Serper API返回的數(shù)據(jù)可以用于數(shù)據(jù)分析。例如,您可以收集一段時間內(nèi)的搜索引擎結(jié)果,分析關(guān)鍵詞排名的變化。以下是一個簡單的數(shù)據(jù)分析示例,使用 pandas 庫處理數(shù)據(jù):

Python復(fù)制

import requests
import pandas as pd

def get_search_results(query, api_key):
API_ENDPOINT = "https://google.serper.dev/search"
params = {
"q": query,
"gl": "cn",
"hl": "zh-CN",
"autocorrect": "true",
"num": 10
}
headers = {
"X-API-KEY": api_key,
"Content-Type": "application/json"
}
response = requests.get(API_ENDPOINT, headers=headers, params=params)
if response.status_code == 200:
return response.json()
else:
print("Error:", response.status_code, response.text)
return None

# 獲取搜索結(jié)果
query = "DeepL 翻譯服務(wù)"
api_key = "your_api_key_here"
results = get_search_results(query, api_key)

# 將結(jié)果轉(zhuǎn)換為 DataFrame
df = pd.DataFrame(results["organic"])
print(df)

# 保存到 CSV 文件
df.to_csv("search_results.csv", index=False)

4.3 集成到 Web 應(yīng)用

Serper API可以集成到 Web 應(yīng)用中,為用戶提供實時的搜索功能。以下是一個簡單的 Flask 應(yīng)用示例,集成 Serper API:

Python復(fù)制

from flask import Flask, request, jsonify
import requests

app = Flask(__name__)

@app.route("/search", methods=["GET"])
def search():
query = request.args.get("q")
API_KEY = "your_api_key_here"
API_ENDPOINT = "https://google.serper.dev/search"
params = {
"q": query,
"gl": "cn",
"hl": "zh-CN",
"autocorrect": "true",
"num": 10
}
headers = {
"X-API-KEY": API_KEY,
"Content-Type": "application/json"
}
response = requests.get(API_ENDPOINT, headers=headers, params=params)
if response.status_code == 200:
return jsonify(response.json())
else:
return jsonify({"error": "Failed to fetch data"}), response.status_code

if __name__ == "__main__":
app.run(debug=True)

五、性能優(yōu)化與錯誤處理

5.1 性能優(yōu)化

5.2 錯誤處理

Python復(fù)制

import logging

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)

logger.info("Sending request to Serper API")
response = requests.get(API_ENDPOINT, headers=headers, params=params)

if response.status_code != 200:
logger.error(f"Error: {response.status_code} - {response.text}")

六、總結(jié)

Serper API 提供了一個強大的工具,幫助開發(fā)者快速訪問和處理搜索引擎結(jié)果。通過詳細(xì)的代碼示例和實際應(yīng)用場景,本文幫助開發(fā)者快速上手并充分利用Serper API 的能力。希望本文對您有所幫助,如果您在使用過程中遇到任何問題,歡迎隨時聯(lián)系 Serper 官方支持。

上一篇:

如何獲取 Edmunds API Key 密鑰(分步指南)

下一篇:

DeepSeek R1 API VS DeepSeek V3 API :兩種 AI 模型對比
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊

多API并行試用

數(shù)據(jù)驅(qū)動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內(nèi)容創(chuàng)意新穎性、情感共鳴力、商業(yè)轉(zhuǎn)化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準(zhǔn)確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費