你的排名并非孤立存在——它们移动是因为竞争对手在移动。捕获你关键词的整个 SERP会揭示谁在上升、谁是新来的,以及哪些功能(摘要、聚合块)占据了页面。下面用 serp.cheap 来演示如何做到。
捕获完整结果页
import requests, datetime
def serp_snapshot(keyword, gl="us"):
data = requests.post(
"https://api.serp.cheap/v1/search",
headers={"X-API-Key": "YOUR_KEY"},
json={"q": keyword, "gl": gl},
timeout=30,
).json()
return {
"date": datetime.date.today().isoformat(),
"keyword": keyword,
"ranking": [(r["position"], domain_of(r["link"])) for r in data["organic"]],
}
def domain_of(url):
from urllib.parse import urlparse
return urlparse(url).netloc.replace("www.", "")
检测变化
存储快照并对连续几天做差异比较:
def new_entrants(today, yesterday):
seen = {d for _, d in yesterday["ranking"]}
return [(pos, d) for pos, d in today["ranking"] if d not in seen]
这会浮现出那些刚刚闯入你关心的关键词前列结果的竞争对手——一个值得发出提醒的早期信号。
该追踪什么
- 每个竞争对手随时间在前 10 名中的占比。
- 闯入页面的新进入者。
- 位置波动性——SERP 经常重新洗牌的关键词。
- SERP 功能——追踪精选摘要或聚合块是否把自然结果向下挤压。
保持低成本
每个关键词、每个市场只需一个请求。每天监控 200 个关键词,实时约 $0.12/天,使用缓存命中会更少。没有按关键词收费的 SaaS 费用,而且历史数据归你所有。