二、入門指南:SDK 安裝與環境配置

  1. 安裝 Python SDK

    pip install serpapi python-dotenv
  2. 配置 API 密鑰
    在項目根目錄創建 .env

    SERPAPI_KEY=你的_serpapi_key
  3. 基礎調用示例

    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 搜索類型:googlegoogle_imagesgoogle_nwsgoogle_videosgoogle_localgoogle_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 返回格式:jsonhtml 推薦 json

> 分頁抓取技巧:配合 num=100 與循環 start,可高效拉取數千條結果。


四、結構化數據解析與存儲實戰

4.1 解析核心字段

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")

4.2 導出 CSV 示例

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")])

4.3 寫入數據庫

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()

五、多類型搜索示例

  1. 圖片搜索(Image Search)

    params = {"q":"kittens", "engine":"google_images", "api_key":KEY}
    images = GoogleSearch(params).get_dict().get("images_results", [])
  2. 視頻搜索(Video Search)

    params = {"q":"latest tech review", "engine":"google_videos", "api_key":KEY}
    videos = GoogleSearch(params).get_dict().get("video_results", [])
  3. 新聞搜索(News Search)

    params = {"q":"AI breakthroughs", "engine":"google_nws", "api_key":KEY}
    news = GoogleSearch(params).get_dict().get("news_results", [])
  4. 本地商戶(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", [])
  5. 購物結果(Shopping Search)

    params = {"q":"wireless earbuds", "engine":"google_shopping", "api_key":KEY}
    shopping = GoogleSearch(params).get_dict().get("shopping_results", [])

六、進階技巧與優化策略


七、應用場景與架構建議

應用場景 實現方式
關鍵詞排名監控 定時拉取 top10 排名,生成歷史趨勢圖
競品分析 抓取競品關鍵詞 SERP 特征(Knowledge Graph)
市場情報 新聞搜索與本地搜索,跟蹤行業動態
電商價格監控 購物搜索結果價格與鏈接定期更新
AI 內容生成 批量獲取摘要,輔助 GPT 模型生成內容
活動/展會信息抓取 事件搜索獲取日期、地點、票務信息

生產級架構推薦

  1. Serverless Functions(AWS Lambda/Cloud Functions)定時觸發抓取任務。
  2. 數據倉庫(BigQuery/DynamoDB)存儲原始與處理后數據。
  3. ETL 管道:Airflow/Cloud Composer 編排數據清洗與轉換。
  4. 可視化與告警:Grafana+JSON API 或 Looker Studio 構建儀表盤,并結合 Alertmanager 設置異常告警。

八、總結與下一步

本文系統覆蓋了如何通過 SerpAPI 獲取并解析 結構化搜索數據

原文引自YouTube視頻:https://www.youtube.com/watch?v=-H9yN_jl4FQ

上一篇:

Analytics?SEO?API 在電商網站中的SEO優化

下一篇:

通過 Cloudflare DNS API 實現 DDNS 動態域名解析
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

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

#AI深度推理大模型API

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

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