二、Google News API 的選擇現(xiàn)狀

目前 Google 官方已不再開(kāi)放傳統(tǒng)意義上的 Google News API,但我們可以通過(guò)以下方式實(shí)現(xiàn)相同目的:

方案類型 實(shí)現(xiàn)工具或平臺(tái) 特點(diǎn)說(shuō)明
非官方 API SerpAPI(推薦) 封裝 Google 新聞搜索結(jié)果,提供 JSON 格式
自行爬蟲 BeautifulSoup + requests 靈活但易被反爬,穩(wěn)定性差
RSS 聚合 Google News RSS Feed 簡(jiǎn)單易用,支持基礎(chǔ)訂閱

本文聚焦于使用 SerpAPI 這一最穩(wěn)定、開(kāi)發(fā)者友好的方式。


三、準(zhǔn)備工作:獲取 SerpAPI Key 與環(huán)境配置

3.1 注冊(cè)并獲取 API Key

  1. 訪問(wèn) serpapi.com
  2. 注冊(cè)賬號(hào)后進(jìn)入控制臺(tái);
  3. 創(chuàng)建 Google News 項(xiàng)目;
  4. 獲取專屬 API Key。

3.2 安裝 Python 庫(kù)

pip install google-search-results

或使用:

pip install serpapi

四、使用 SerpAPI 獲取 Google 新聞數(shù)據(jù)(完整代碼)

4.1 Python 示例代碼

from serpapi import GoogleSearch

params = {
  "engine": "google_news",
  "q": "人工智能",
  "api_key": "YOUR_API_KEY",
  "hl": "zh-cn",
  "gl": "cn",
  "num": 10
}

search = GoogleSearch(params)
results = search.get_dict()
news = results.get("news_results", [])

for item in news:
    print(f"標(biāo)題:{item['title']}")
    print(f"鏈接:{item['link']}")
    print(f"摘要:{item['snippet']}")
    print(f"來(lái)源:{item.get('source', {}).get('name')}")
    print("-" * 30)

4.2 返回?cái)?shù)據(jù)結(jié)構(gòu)

每條 news_results 包含字段:


五、擴(kuò)展應(yīng)用:存儲(chǔ)與自動(dòng)化調(diào)度

5.1 保存為 CSV 文件

import csv

with open("news.csv", "w", encoding="utf-8-sig", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["標(biāo)題", "鏈接", "摘要", "來(lái)源", "時(shí)間"])
    for item in news:
        writer.writerow([
            item["title"],
            item["link"],
            item["snippet"],
            item.get("source", {}).get("name", ""),
            item.get("date", "")
        ])

5.2 定時(shí)執(zhí)行腳本


六、智能化處理與進(jìn)階應(yīng)用

你可以基于 Google News API 獲取的數(shù)據(jù),進(jìn)一步構(gòu)建智能功能:

6.1 情感分析

使用 NLP 工具如 TextBlob、SnowNLP 或 OpenAI API,對(duì)每條新聞情緒進(jìn)行打分:

from textblob import TextBlob
polarity = TextBlob(item["snippet"]).sentiment.polarity

6.2 自動(dòng)分類

結(jié)合關(guān)鍵字或機(jī)器學(xué)習(xí)算法對(duì)新聞進(jìn)行分類,如財(cái)經(jīng)、科技、娛樂(lè)、健康等。

6.3 GPT 自動(dòng)摘要

將新聞?wù)蛟妮斎?GPT 模型,生成 60 字中文總結(jié):

prompt = f"請(qǐng)用中文簡(jiǎn)要總結(jié)以下新聞內(nèi)容:{item['snippet']}"

七、錯(cuò)誤處理與穩(wěn)定性建議

問(wèn)題類型 解決方案
API 返回為空 檢查關(guān)鍵詞拼寫,或更換語(yǔ)言、地區(qū)參數(shù)
請(qǐng)求失敗 添加異常捕獲,設(shè)置重試機(jī)制
報(bào)錯(cuò) 429 Too Many Requests 設(shè)置 sleep,或升級(jí)到更高計(jì)劃

示例:

import time
from requests.exceptions import RequestException

try:
    search = GoogleSearch(params)
    results = search.get_dict()
except RequestException:
    print("請(qǐng)求過(guò)多,等待 10 秒后重試")
    time.sleep(10)

八、實(shí)際應(yīng)用案例

應(yīng)用場(chǎng)景 實(shí)施方式
輿情監(jiān)控系統(tǒng) 自動(dòng)抓取特定關(guān)鍵詞新聞,并結(jié)合情緒分析與關(guān)鍵詞抽取
內(nèi)容采集平臺(tái) 按地域和主題分類匯總新聞,用于門戶、微信公眾號(hào)內(nèi)容分發(fā)
金融情報(bào)抓取 關(guān)注股市變動(dòng)、公司名稱新聞事件,結(jié)合行情預(yù)測(cè)模型
文章素材收集 抓取某個(gè)領(lǐng)域的最新新聞并自動(dòng)整理摘要寫入 Notion

九、對(duì)比其他解決方案

平臺(tái) 免費(fèi)額度 數(shù)據(jù)實(shí)時(shí)性 多語(yǔ)言支持 結(jié)構(gòu)化數(shù)據(jù) 使用復(fù)雜度
SerpAPI ? 每月 100 條 ? 優(yōu)秀 ? 多語(yǔ)種 ? JSON ??(易用)
NewsAPI.org ? 已不支持 Google News ? 好 ? 多語(yǔ)種 ? JSON ???
GNews.io ? 限制較多 ? 5\~15 分鐘延遲 ? ? ??
RSS Feed 抓取 ? ? 緩慢 ? ? HTML ????

結(jié)論:在抓取 Google 新聞這一垂直領(lǐng)域,SerpAPI 是目前最穩(wěn)定、最易用的開(kāi)發(fā)者解決方案。


十、總結(jié):構(gòu)建你的新聞獲取系統(tǒng)

通過(guò)本文你已掌握:

上一篇:

9個(gè)最佳Text2Sql開(kāi)源項(xiàng)目:自然語(yǔ)言到SQL的高效轉(zhuǎn)換工具

下一篇:

如何通過(guò) SEO rank API 進(jìn)行競(jìng)爭(zhēng)對(duì)手分析
#你可能也喜歡這些API文章!

我們有何不同?

API服務(wù)商零注冊(cè)

多API并行試用

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

查看全部API→
??

熱門場(chǎng)景實(shí)測(cè),選對(duì)API

#AI文本生成大模型API

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

25個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)

#AI深度推理大模型API

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

10個(gè)渠道
一鍵對(duì)比試用API 限時(shí)免費(fèi)