
如何使用 DeepSeek 構建 AI Agent:終極指南
安裝 Python SDK:
pip install serpapi python-dotenv
配置 API 密鑰
在項目根目錄創建 .env
:
SERPAPI_KEY=你的_serpapi_key
基礎調用示例:
from dotenv import load_dotenv
from serpapi import GoogleSearch
import os
load_dotenv()
params = {
"q": "coffee shops",
"engine": "google",
"location": "Austin, Texas, United States",
"api_key": os.getenv("SERPAPI_KEY")
}
search = GoogleSearch(params)
result = search.get_dict()
print(result["organic_results"])
參數 | 說明 | 建議值 |
---|---|---|
q | 搜索關鍵詞,可含高級運算如 site: 、filetype: |
自定義業務需求 |
engine | 搜索類型:google 、google_images 、google_nws 、google_videos 、google_local 、google_shopping |
視場景而定 |
location | 物理位置,用于本地化檢索,如 "New York, USA" |
城市/國家 |
gl | 搜索國別代碼,如 "us" 、"cn" |
2-letter ISO |
hl | 界面語言,如 "en" 、"zh-CN" |
2-letter 或 BCP47 |
num | 每頁結果數,最大 100 |
建議 50~100 |
start | 結果偏移量,分頁常用 | start = page_index * num |
no_cache | 禁用緩存強制實時返回 | True |
output | 返回格式:json 或 html |
推薦 json |
> 分頁抓取技巧:配合 num=100
與循環 start
,可高效拉取數千條結果。
organic = result.get("organic_results", [])
for idx, item in enumerate(organic, 1):
title = item.get("title")
link = item.get("link")
snippet = item.get("snippet")
position = item.get("position")
print(f"{idx}. {title} ({position})\nURL: {link}\n摘要: {snippet}\n")
import csv
with open("serp_data.csv", "w", newline="") as f:
writer = csv.writer(f)
writer.writerow(["pos","title","link","snippet"])
for i, item in enumerate(organic, 1):
writer.writerow([i, item["title"], item["link"], item.get("snippet")])
import mysql.connector
conn = mysql.connector.connect(host=..., user=..., password=..., database=...)
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE IF NOT EXISTS serp_data(
position INT, title TEXT, link TEXT, snippet TEXT
)
""")
for idx, item in enumerate(organic,1):
cursor.execute(
"INSERT INTO serp_data(position,title,link,snippet) VALUES(%s,%s,%s,%s)",
(idx, item["title"], item["link"], item.get("snippet"))
)
conn.commit()
cursor.close()
conn.close()
圖片搜索(Image Search)
params = {"q":"kittens", "engine":"google_images", "api_key":KEY}
images = GoogleSearch(params).get_dict().get("images_results", [])
視頻搜索(Video Search)
params = {"q":"latest tech review", "engine":"google_videos", "api_key":KEY}
videos = GoogleSearch(params).get_dict().get("video_results", [])
新聞搜索(News Search)
params = {"q":"AI breakthroughs", "engine":"google_nws", "api_key":KEY}
news = GoogleSearch(params).get_dict().get("news_results", [])
本地商戶(Local Search)
params = {"q":"coffee shops near me", "engine":"google_local", "location":"Seattle, USA", "api_key":KEY}
locals = GoogleSearch(params).get_dict().get("local_results", [])
購物結果(Shopping Search)
params = {"q":"wireless earbuds", "engine":"google_shopping", "api_key":KEY}
shopping = GoogleSearch(params).get_dict().get("shopping_results", [])
location/gl/hl
,分析各市場 SERP 差異。site:
、intitle:
、inurl:
實現精準篩選。429
錯誤時,加入指數退避與重試機制,保障穩定抓取。應用場景 | 實現方式 |
---|---|
關鍵詞排名監控 | 定時拉取 top10 排名,生成歷史趨勢圖 |
競品分析 | 抓取競品關鍵詞 SERP 特征(Knowledge Graph) |
市場情報 | 新聞搜索與本地搜索,跟蹤行業動態 |
電商價格監控 | 購物搜索結果價格與鏈接定期更新 |
AI 內容生成 | 批量獲取摘要,輔助 GPT 模型生成內容 |
活動/展會信息抓取 | 事件搜索獲取日期、地點、票務信息 |
本文系統覆蓋了如何通過 SerpAPI 獲取并解析 結構化搜索數據:
原文引自YouTube視頻:https://www.youtube.com/watch?v=-H9yN_jl4FQ