ScavioScavio
产品定价文档
登录开始使用
  1. 首页
  2. 教程
  3. 如何使用 Scavio API 每天跟踪 SEO 排名
教程

如何使用 Scavio API 每天跟踪 SEO 排名

使用 Scavio Google SERP API 在 Python 中自动执行日常 SEO 排名跟踪。记录关键字随时间的位置并自动检测排名变化。

获取免费API密钥API文档

SEO 排名跟踪需要定期检查您的页面在 Google 搜索结果中出现的目标关键字的位置。商业 SEO 工具每月要为此功能收取数百美元的费用。 Scavio API 允许您使用简单的 Python 脚本构建自己的排名跟踪器,该脚本将每日排名存储在 CSV 或数据库中,并提醒您重大变化。本教程介绍如何构建排名跟踪管道,每次运行最多检查 20 个关键字并记录位置历史记录。

前置条件

  • Python 3.8 或更高版本
  • 请求已安装库
  • Scavio API 密钥
  • 目标关键字和要跟踪的域的列表

操作指南

步骤 1: 定义关键字和目标域

创建关键字字符串和要跟踪的域的列表。该脚本将扫描包含您的域的任何 URL 的结果。

Python
KEYWORDS = ["python web framework", "fastapi tutorial", "django vs flask"]
TARGET_DOMAIN = "mysite.com"

步骤 2: 获取 SERP 并查找排名

对于每个关键字,POST 到 Scavio Google 端点并扫描 Organic_results 以查找与您的域匹配的 URL。如果找到则返回位置。

Python
def get_rank(keyword: str, domain: str) -> int | None:
    data = search_google(keyword)
    for r in data.get("organic_results", []):
        if domain in r.get("link", ""):
            return r["position"]
    return None

步骤 3: 将结果保存到 CSV

将每个关键字的排名结果和时间戳附加到 CSV 文件中,以便您可以跟踪一段时间内的排名。

Python
import csv
from datetime import date

def save_rank(keyword: str, rank: int | None) -> None:
    with open("rankings.csv", "a", newline="") as f:
        writer = csv.writer(f)
        writer.writerow([date.today().isoformat(), keyword, rank or "not ranked"])

步骤 4: 运行日常跟踪作业

迭代所有关键字、获取排名、保存结果并打印摘要。使用 cron 或任务计划程序安排此脚本每天运行。

Python
def run_tracker():
    for kw in KEYWORDS:
        rank = get_rank(kw, TARGET_DOMAIN)
        save_rank(kw, rank)
        status = f"#{rank}" if rank else "not ranked"
        print(f"{kw}: {status}")

run_tracker()

Python 示例

Python
import os
import csv
import requests
from datetime import date

API_KEY = os.environ.get("SCAVIO_API_KEY", "your_scavio_api_key")
ENDPOINT = "https://api.scavio.dev/api/v1/search"
KEYWORDS = ["python web framework", "fastapi tutorial"]
TARGET_DOMAIN = "mysite.com"

def search_google(q: str) -> dict:
    r = requests.post(ENDPOINT, headers={"x-api-key": API_KEY},
                      json={"query": q, "country_code": "us"})
    r.raise_for_status()
    return r.json()

def get_rank(keyword: str) -> int | None:
    data = search_google(keyword)
    for r in data.get("organic_results", []):
        if TARGET_DOMAIN in r.get("link", ""):
            return r["position"]
    return None

def run():
    with open("rankings.csv", "a", newline="") as f:
        w = csv.writer(f)
        for kw in KEYWORDS:
            rank = get_rank(kw)
            w.writerow([date.today().isoformat(), kw, rank or ""])
            print(f"{kw}: {'#' + str(rank) if rank else 'not ranked'}")

if __name__ == "__main__":
    run()

JavaScript 示例

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY || "your_scavio_api_key";
const ENDPOINT = "https://api.scavio.dev/api/v1/search";
const fs = require("fs");

const KEYWORDS = ["python web framework", "fastapi tutorial"];
const TARGET_DOMAIN = "mysite.com";

async function getRank(keyword) {
  const res = await fetch(ENDPOINT, {
    method: "POST",
    headers: { "x-api-key": API_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({ query: keyword, country_code: "us" })
  });
  const data = await res.json();
  const match = (data.organic_results || []).find(r => r.link.includes(TARGET_DOMAIN));
  return match ? match.position : null;
}

async function run() {
  const today = new Date().toISOString().slice(0, 10);
  for (const kw of KEYWORDS) {
    const rank = await getRank(kw);
    const line = `${today},${kw},${rank || ""}\n`;
    fs.appendFileSync("rankings.csv", line);
    console.log(`${kw}: ${rank ? "#" + rank : "not ranked"}`);
  }
}

run().catch(console.error);

预期输出

JSON
python web framework: #4
fastapi tutorial: #2

rankings.csv preview:
2026-04-16,python web framework,4
2026-04-16,fastapi tutorial,2

相关教程

  • 如何用 Python 获取 Google 搜索结果
  • 如何使用 SERP 和竞争对手分析构建 SEO 审核工具

常见问题

大多数开发者在15到30分钟内完成本教程。您需要一个Scavio API密钥(免费套餐即可)和可用的Python或JavaScript环境。

Python 3.8 或更高版本. 请求已安装库. Scavio API 密钥. 目标关键字和要跟踪的域的列表. Scavio API密钥注册即送50个免费积分。

可以。免费套餐注册即送50个积分,完全足够完成本教程并构建一个可运行的原型解决方案。

Scavio提供原生LangChain包(langchain-scavio)、MCP服务器以及适用于任何HTTP客户端的REST API。本教程使用 the raw REST API, 但您可以根据需要适配您选择的框架。

相关资源

Best Of

2026年最佳代理机构 SEO 报告 API

Read more
Best Of

2026 年最佳基于队列的 SERP API

Read more
Comparison

Semrush API vs Raw SERP API

Read more
Solution

构建可预测成本的SEO API层

Read more
Use Case

SEO 仪表板原始 API

Read more
Use Case

AppSumo SEO 工具到 API 迁移

Read more

开始构建

使用 Scavio Google SERP API 在 Python 中自动执行日常 SEO 排名跟踪。记录关键字随时间的位置并自动检测排名变化。

获取免费API密钥阅读文档
ScavioScavio

面向AI智能体的实时搜索API。搜索所有平台,不仅仅是Google。

产品

  • 功能
  • 定价
  • 控制台
  • 联盟计划

开发者

  • 文档
  • API参考
  • 快速开始
  • MCP集成
  • Python SDK

替代方案

  • Tavily替代方案
  • SerpAPI替代方案
  • Firecrawl替代方案
  • Exa替代方案

工具

  • JSON格式化
  • cURL转代码
  • Token计数器
  • 全部工具

© 2026 Scavio. 保留所有权利。

Featured on TAAFT
服务条款隐私政策