Skip to content
Advanced / 2 min read

高级 ProxyScrape SEO 监控:使用稳定的住宅代理进行按城市排名跟踪

了解如何设置 ProxyScrape 住宅代理,以进行跨多个城市的高级 SEO 排名跟踪,确保可靠正常运行时间和准确的 SERP 数据。包含 Python 轮换和错误处理。

网页抓取 SEO 监测 其他

概述

如果你一直在搜索 "proxy scape"、"proxyscaper" 或 "scrapeproxy",正确的名称是 ProxyScrape。ProxyScrape 通过 HTTP 和 SOCKS5 提供住宅、数据中心和移动代理,并支持按量付费或固定月费计费。其 9700 万+ IP 池专为需要可靠、长期正常运行时间的团队打造——这使其非常适合 SEO 监控,因为持续的数据收集至关重要。

本高级教程向你展示如何使用 ProxyScrape 住宅代理对目标关键词执行按城市排名跟踪。你将构建一个基于 Python 的系统,用于轮换代理、处理错误并验证结果,以确保你的 SERP 数据在不同地理位置都准确。

先决条件

  • 已启用住宅代理的 ProxyScrape 账户(如果需要移动端 SERP 结果,则使用移动代理)。
  • 已安装 Python 3.8 或更高版本。
  • 基本熟悉 Python requests 或 httpx。
  • 你想要跟踪的关键词和目标城市列表。
  • 可选:如果你不想直接解析 Google 结果,可以使用 SERP 抓取库或 API。

步骤 1:为 SEO 监控选择正确的代理类型

ProxyScrape 提供三种代理类型,每种在 SEO 监控方面都有各自的权衡:

  • 住宅代理:最适合规避封锁并获取准确的本地结果。使用这些代理进行按城市排名跟踪。
  • 数据中心代理:速度更快且更便宜,但更有可能被搜索引擎封锁。适用于大批量、非关键的检查。
  • 移动代理:非常适合移动端特定的 SERP,尽管价格更高。

对于按城市排名跟踪,推荐使用住宅代理,因为它们提供来自目标位置的真实用户 IP。ProxyScrape 的住宅代理池具有强大的长期正常运行时间,这对于每日排名跟踪至关重要。

步骤 2:获取你的代理凭据和端点

登录你的 ProxyScrape 仪表板,并导航到住宅代理部分。你将找到:

  • 一个代理端点(主机和端口)
  • 你的用户名和密码(或 API 密钥,取决于你的套餐)
  • 可用于定位的可用国家/地区列表(有时也包括城市)

ProxyScrape 支持 HTTP 和 SOCKS5 协议。对于 SEO 监控,HTTP 通常就足够了,而且更容易调试。

代理格式示例:

http://username:[email protected]:8000
socks5://username:[email protected]:1080

如果你的仪表板提供了 IP 列表,你也可以直接使用它们。

步骤 3:构建地理定位代理池

要按城市跟踪排名,你需要来自这些城市的代理。ProxyScrape 的仪表板允许你选择特定国家/地区。对于城市级定位,请检查你的套餐是否支持;如果不支持,你可以使用国家级代理,并通过地理定位参数(例如 Google 的 &uule=)按搜索引擎的本地结果进行筛选。

为每个目标城市创建一个 Python 代理 URL 列表。例如:

proxies_by_city = {
    "new_york": ["http://user:[email protected]:8000"],
    "london": ["http://user:[email protected]:8001"],
    # 根据需要添加更多城市
}

如果你只有国家级定位,请按国家/地区对城市进行分组,并使用相同的代理池,但要在搜索请求中添加 uule 参数以模拟本地搜索。

步骤 4:实现轮换和错误处理

在抓取 SERP 时,单个代理 IP 很快就会被封锁。请为每个请求或每几个请求轮换代理。以下是一个使用 requests 的示例 Python 函数:

import requests
import random
import time

def fetch_serp(keyword, city, proxies):
    proxy = random.choice(proxies)
    proxies_dict = {"http": proxy, "https": proxy}
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
    }
    # 为城市级搜索添加 uule 参数(Google 示例)
    params = {"q": keyword, "uule": f"w+CAIQICI{city}"}  # 替换为正确的 uule 编码
    try:
        response = requests.get("https://www.google.com/search", params=params, proxies=proxies_dict, headers=headers, timeout=10)
        response.raise_for_status()
        return response.text
    except requests.exceptions.RequestException as e:
        print(f"Request failed with proxy {proxy}: {e}")
        return None

# 用法
for city, proxy_list in proxies_by_city.items():
    html = fetch_serp("best running shoes", city, proxy_list)
    if html:
        # 从 html 解析排名
        pass
    time.sleep(random.uniform(1, 3))  # 有礼貌的延迟

注意: uule 参数需要特定编码。你可以使用免费的在线工具或库生成它。如果你不直接抓取 Google,许多 SERP API 都接受 location 参数。

对于大批量跟踪,考虑使用支持异步的 httpx 和代理轮换中间件。

步骤 5:验证结果并监控代理正常运行时间

为确保数据准确性,请实施验证:

  • 检查响应是否包含预期元素(例如搜索结果容器)。
  • 在多个代理之间比较已知关键词的排名,以检测异常。
  • 通过记录失败来监控代理正常运行时间。ProxyScrape 的稳定基础设施可减少停机时间,但你仍应跟踪哪些代理失败并替换它们。

验证代码片段示例:

def is_valid_serp(html):
    return "result-stats" in html or "search" in html.lower()

设置一个简单的正常运行时间检查:

def check_proxy(proxy):
    try:
        r = requests.get("http://httpbin.org/ip", proxies={"http": proxy, "https": proxy}, timeout=5)
        return r.status_code == 200
    except:
        return False

步骤 6:存储和分析排名数据

一旦你获得了有效的 SERP,就解析排名并将其存储在数据库中(例如 SQLite、PostgreSQL)。跟踪每个关键词-城市组合中目标 URL 的位置随时间的变化。

使用 sqlite3 的示例:

import sqlite3

conn = sqlite3.connect("rankings.db")
c = conn.cursor()
c.execute("""CREATE TABLE IF NOT EXISTS rankings
             (date TEXT, keyword TEXT, city TEXT, position INTEGER, url TEXT)""")
# 插入解析后的数据
conn.commit()

分析趋势以识别本地排名变化,并相应地调整你的 SEO 策略。

故障排除

代理速度慢或超时

  • 将超时增加到 15-20 秒。
  • 如果你发出许多并行请求,请降低并发数。
  • 检查 ProxyScrape 的状态页面或仪表板,了解任何报告的问题。

被封锁或看到 CAPTCHA

  • 确保为每个请求轮换代理。
  • 添加真实的请求头和随机延迟。
  • 对于 Google,使用住宅代理而不是数据中心代理。
  • 考虑使用能处理 CAPTCHA 的 SERP API。

按城市定位不起作用

  • 验证你的 ProxyScrape 套餐是否支持城市级定位。如果不支持,请使用国家级代理和 uule 参数。
  • 仔细检查目标城市的 uule 编码。

身份验证错误

  • 确认你的用户名和密码正确。
  • 如果使用 IP 白名单,请确保你的服务器 IP 已添加到 ProxyScrape 仪表板。

总结

在本教程中,你设置了 ProxyScrape 住宅代理,用于高级的按城市 SEO 排名跟踪。你学习了如何选择正确的代理类型、获取凭据、构建地理定位代理池、通过错误处理轮换代理、验证结果以及存储排名数据。ProxyScrape 可靠的正常运行时间和大型住宅代理池,使其成为需要一致、长期 SEO 监控的团队的可靠选择。请记住,正确的名称是 ProxyScrape——而不是 "proxy scape" 或 "proxyscaper"——这样你才能在需要时找到正确的文档和支持。