Skip to content
Advanced / 2 min read

پایش پیشرفته SEO با ProxyScrape: رهگیری رتبه به تفکیک شهر با پروکسی‌های مسکونی پایدار

بیاموزید چگونه پروکسی‌های مسکونی ProxyScrape را برای رهگیری پیشرفته رتبه SEO در چندین شهر راه‌اندازی کنید، تا آپ‌تایم قابل اتکا و داده‌های دقیق SERP تضمین شود. شامل چرخش پروکسی و مدیریت خطا در پایتون.

وب اسکرپینگ پایش سئو سایر

مرور کلی

اگر دنبال «proxy scape»، «proxyscaper» یا «scrapeproxy» گشته‌اید، نام درست ProxyScrape است. ProxyScrape پروکسی‌های مسکونی، دیتاسنتر و موبایل را روی HTTP و SOCKS5 با پرداخت به‌ازای مصرف یا صورت‌حساب ماهانه ثابت ارائه می‌دهد. استخر بیش از ۹۷ میلیون IP آن برای تیم‌هایی ساخته شده که به آپ‌تایم قابل اتکا و بلندمدت نیاز دارند—که آن را گزینه‌ای مناسب برای پایش SEO می‌کند، جایی که جمع‌آوری پیوسته داده حیاتی است.

این آموزش پیشرفته نشان می‌دهد چگونه از پروکسی‌های مسکونی ProxyScrape برای رهگیری رتبه به تفکیک شهر برای کلمات کلیدی هدف خود استفاده کنید. شما یک سیستم مبتنی بر پایتون می‌سازید که پروکسی‌ها را می‌چرخاند، خطاها را مدیریت می‌کند و نتایج را اعتبارسنجی می‌کند تا داده‌های SERP شما در موقعیت‌های جغرافیایی مختلف دقیق باشد.

پیش‌نیازها

  • یک حساب ProxyScrape با پروکسی‌های مسکونی فعال (یا پروکسی‌های موبایل اگر به نتایج SERP موبایل نیاز دارید).
  • پایتون ۳.۸ یا جدیدتر نصب شده باشد.
  • آشنایی مقدماتی با requests یا httpx در پایتون.
  • فهرستی از کلمات کلیدی و شهرهای هدفی که می‌خواهید رهگیری کنید.
  • اختیاری: یک کتابخانه یا API خراش‌دهی SERP اگر نمی‌خواهید نتایج Google را مستقیماً تجزیه کنید.

گام ۱: انتخاب نوع پروکسی مناسب برای پایش SEO

ProxyScrape سه نوع پروکسی ارائه می‌دهد که هر کدام برای پایش SEO مزایا و معایبی دارند:

  • پروکسی‌های مسکونی: بهترین گزینه برای دوری از بلاک شدن و دریافت نتایج محلی دقیق. از این‌ها برای رهگیری رتبه به تفکیک شهر استفاده کنید.
  • پروکسی‌های دیتاسنتر: سریع‌تر و ارزان‌تر، اما احتمال بلاک شدن توسط موتورهای جستجو بیشتر است. مناسب برای بررسی‌های پرحجم و غیرحیاتی.
  • پروکسی‌های موبایل: ایده‌آل برای SERPهای مخصوص موبایل، هرچند گران‌تر.

برای رهگیری رتبه به تفکیک شهر، پروکسی‌های مسکونی توصیه می‌شوند زیرا IPهای کاربران واقعی از موقعیت‌های هدف را ارائه می‌دهند. استخر مسکونی ProxyScrape آپ‌تایم بلندمدت قوی دارد، که برای رهگیری روزانه رتبه ضروری است.

گام ۲: دریافت اعتبارنامه‌ها و نقاط انتهایی پروکسی

وارد داشبورد ProxyScrape خود شوید و به بخش پروکسی مسکونی بروید. موارد زیر را خواهید یافت:

  • یک نقطه انتهایی پروکسی (host و port)
  • نام کاربری و رمز عبور شما (یا یک کلید API، بسته به پلن شما)
  • فهرستی از کشورهای موجود (و گاهی شهرها) برای هدف‌گیری

ProxyScrape از هر دو پروتکل HTTP و SOCKS5 پشتیبانی می‌کند. برای پایش SEO، HTTP عموماً کافی و اشکال‌زدایی آن آسان‌تر است.

قالب نمونه پروکسی:

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

اگر داشبورد شما فهرستی از IPها ارائه می‌دهد، می‌توانید مستقیماً از آن‌ها نیز استفاده کنید.

گام ۳: ساخت استخر پروکسی با هدف‌گیری جغرافیایی

برای رهگیری رتبه‌ها به تفکیک هر شهر، به پروکسی‌هایی از همان شهرها نیاز دارید. داشبورد ProxyScrape به شما اجازه می‌دهد کشورهای مشخصی را انتخاب کنید. برای هدف‌گیری در سطح شهر، بررسی کنید که پلن شما از آن پشتیبانی می‌کند یا نه؛ اگر نمی‌کند، می‌توانید از پروکسی‌های سطح کشور استفاده کنید و نتایج محلی موتور جستجو را با استفاده از پارامتر موقعیت جغرافیایی فیلتر کنید (مثلاً &uule= برای Google).

یک فهرست پایتونی از URLهای پروکسی برای هر شهر هدف ایجاد کنید. برای مثال:

proxies_by_city = {
    "new_york": ["http://user:[email protected]:8000"],
    "london": ["http://user:[email protected]:8001"],
    # Add more cities as needed
}

اگر فقط هدف‌گیری در سطح کشور دارید، شهرها را بر اساس کشور گروه‌بندی کنید و از همان استخر پروکسی استفاده کنید، اما برای شبیه‌سازی جستجوی محلی یک پارامتر uule به درخواست جستجوی خود اضافه کنید.

گام ۴: پیاده‌سازی چرخش و مدیریت خطا

یک IP پروکسی واحد هنگام خراش‌دهی SERPها به‌سرعت بلاک می‌شود. پروکسی‌ها را برای هر درخواست یا هر چند درخواست بچرخانید. این یک تابع نمونه پایتون با استفاده از requests است:

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"
    }
    # Add uule parameter for city-level search (example for Google)
    params = {"q": keyword, "uule": f"w+CAIQICI{city}"}  # Replace with correct uule encoding
    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

# Usage
for city, proxy_list in proxies_by_city.items():
    html = fetch_serp("best running shoes", city, proxy_list)
    if html:
        # Parse rankings from html
        pass
    time.sleep(random.uniform(1, 3))  # Respectful delay

توجه: پارامتر uule به یک کدگذاری مشخص نیاز دارد. می‌توانید آن را با ابزارها یا کتابخانه‌های آنلاین رایگان تولید کنید. اگر مستقیماً Google را خراش‌دهی نمی‌کنید، بسیاری از APIهای SERP پارامتر location را می‌پذیرند.

برای رهگیری پرحجم، استفاده از httpx با پشتیبانی async و یک میان‌افزار چرخش پروکسی را در نظر بگیرید.

گام ۵: اعتبارسنجی نتایج و پایش آپ‌تایم پروکسی

برای تضمین دقت داده، اعتبارسنجی را پیاده‌سازی کنید:

  • بررسی کنید که پاسخ شامل عناصر مورد انتظار باشد (مثلاً ظرف نتایج جستجو).
  • رتبه یک کلمه کلیدی شناخته‌شده را در چندین پروکسی مقایسه کنید تا ناهنجاری‌ها را تشخیص دهید.
  • آپ‌تایم پروکسی را با ثبت خرابی‌ها پایش کنید. زیرساخت پایدار 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

گام ۶: ذخیره و تحلیل داده‌های رتبه

وقتی 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)""")
# Insert parsed data
conn.commit()

روندها را تحلیل کنید تا تغییرات رتبه محلی را شناسایی کنید و استراتژی SEO خود را بر همان اساس تنظیم کنید.

عیب‌یابی

پروکسی‌ها کند هستند یا timeout می‌دهند

  • timeout را به ۱۵-۲۰ ثانیه افزایش دهید.
  • اگر درخواست‌های موازی زیادی می‌فرستید، همزمانی را کاهش دهید.
  • صفحه وضعیت یا داشبورد ProxyScrape را برای هر مشکل گزارش‌شده بررسی کنید.

بلاک شدن یا مشاهده CAPTCHAها

  • مطمئن شوید برای هر درخواست پروکسی‌ها را می‌چرخانید.
  • هدرهای واقع‌گرایانه و تأخیرهای تصادفی اضافه کنید.
  • برای Google از پروکسی‌های مسکونی به‌جای دیتاسنتر استفاده کنید.
  • استفاده از یک API SERP که CAPTCHAها را مدیریت می‌کند را در نظر بگیرید.

هدف‌گیری به تفکیک شهر کار نمی‌کند

  • بررسی کنید که پلن ProxyScrape شما از هدف‌گیری در سطح شهر پشتیبانی می‌کند. اگر نه، از پروکسی‌های سطح کشور و پارامتر uule استفاده کنید.
  • کدگذاری uule را برای شهر هدف خود دوباره بررسی کنید.

خطاهای احراز هویت

  • تأیید کنید نام کاربری و رمز عبور شما درست است.
  • اگر از لیست سفید IP استفاده می‌کنید، مطمئن شوید IP سرور شما به داشبورد ProxyScrape اضافه شده است.

خلاصه

در این آموزش، پروکسی‌های مسکونی ProxyScrape را برای رهگیری پیشرفته رتبه SEO به تفکیک شهر راه‌اندازی کردید. یاد گرفتید چگونه نوع پروکسی مناسب را انتخاب کنید، اعتبارنامه‌ها را دریافت کنید، یک استخر با هدف‌گیری جغرافیایی بسازید، پروکسی‌ها را با مدیریت خطا بچرخانید، نتایج را اعتبارسنجی کنید و داده‌های رتبه را ذخیره کنید. آپ‌تایم قابل اتکا و استخر بزرگ مسکونی ProxyScrape آن را به گزینه‌ای مطمئن برای تیم‌هایی تبدیل می‌کند که به پایش SEO پیوسته و بلندمدت نیاز دارند. به یاد داشته باشید، نام درست ProxyScrape است—نه «proxy scape» یا «proxyscaper»—تا بتوانید در صورت نیاز مستندات و پشتیبانی درست را پیدا کنید.