Skip to content
Intermediate / 2 min read

نحوه استفاده از پروکسی‌های مسکونی Dataimpulse با Selenium در ویندوز برای وب اسکرپینگ

راهنمای گام‌به‌گام ادغام پروکسی‌های مسکونی Dataimpulse با Selenium در ویندوز، شامل راه‌اندازی پروکسی HTTP احراز هویت‌شده و چرخش برای وب اسکرپینگ قابل اعتماد.

Windows HTTP(S) وب اسکرپینگ

مرور کلی

Dataimpulse یک ارائه‌دهنده پروکسی مسکونی مقرون‌به‌صرفه با استخری از بیش از ۹۰ میلیون IP است که برای وب اسکرپینگ با حجم بالا بهینه شده است. Selenium یک ابزار محبوب خودکارسازی مرورگر است که می‌تواند JavaScript را رندر کند و با وب‌سایت‌های پویا تعامل داشته باشد. ترکیب Selenium با پروکسی‌های مسکونی به شما امکان می‌دهد در مقیاس بزرگ اسکرپ کنید و در عین حال از مسدود شدن IP و محدودیت‌های جغرافیایی جلوگیری کنید.

در این آموزش، یاد می‌گیرید چگونه Selenium را در ویندوز طوری پیکربندی کنید که ترافیک را از طریق پروکسی‌های مسکونی Dataimpulse با استفاده از HTTP مسیردهی کند، از جمله مدیریت احراز هویت پروکسی. در پایان، یک اسکریپت کارآمد خواهید داشت که یک صفحه آزمایشی را اسکرپ می‌کند و IP پروکسی را تأیید می‌کند.

پیش‌نیازها

پیش از شروع، مطمئن شوید که موارد زیر را دارید:

  • یک حساب Dataimpulse با پروکسی‌های مسکونی فعال (صورت‌حساب پرداخت به‌ازای مصرف).
  • Python 3.7 یا جدیدتر نصب‌شده روی ویندوز.
  • Google Chrome یا Mozilla Firefox نصب‌شده.
  • آشنایی پایه با Python و خط فرمان.

مراحل

۱. دریافت اعتبارنامه‌های پروکسی Dataimpulse شما

وارد داشبورد Dataimpulse خود شوید و به بخش پروکسی‌های مسکونی بروید. به موارد زیر نیاز دارید:

  • هاست پروکسی (مثلاً gateway.dataimpulse.com — برای نام میزبان دقیق، داشبورد خود را بررسی کنید)
  • پورت پروکسی (مثلاً 823)
  • نام کاربری و گذرواژه برای احراز هویت

Dataimpulse از هر دو پروتکل HTTP و SOCKS5 پشتیبانی می‌کند. این آموزش از HTTP استفاده می‌کند که مستقیماً با Selenium سازگار است. اعتبارنامه‌ها را یادداشت کنید؛ از آن‌ها در اسکریپت استفاده خواهید کرد.

۲. راه‌اندازی یک محیط مجازی Python

Command Prompt یا PowerShell را باز کنید و یک محیط مجازی ایجاد کنید تا وابستگی‌ها جدا بمانند:

python -m venv dataimpulse-selenium
dataimpulse-selenium\Scripts\activate

۳. نصب Selenium و Selenium-Wire

Selenium-Wire قابلیت‌های Selenium را برای پشتیبانی از پروکسی‌های احراز هویت‌شده گسترش می‌دهد. هر دو بسته را نصب کنید:

pip install selenium selenium-wire

۴. نوشتن اسکریپت Selenium با احراز هویت پروکسی

یک فایل جدید با نام scrape_with_dataimpulse.py ایجاد کنید و کد زیر را جای‌گذاری کنید. مقادیر جای‌نگه‌دار را با اعتبارنامه‌های Dataimpulse خود جایگزین کنید.

from seleniumwire import webdriver
from selenium.webdriver.chrome.options import Options
import time

# Dataimpulse proxy credentials
proxy_host = "your_proxy_host"  # e.g., gateway.dataimpulse.com
proxy_port = "your_proxy_port"  # e.g., 823
proxy_username = "your_username"
proxy_password = "your_password"

# Configure Chrome options
chrome_options = Options()
chrome_options.add_argument("--headless")  # Run in headless mode (optional)
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")

# Set up Selenium-Wire proxy with authentication
seleniumwire_options = {
    "proxy": {
        "http": f"http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}",
        "https": f"http://{proxy_username}:{proxy_password}@{proxy_host}:{proxy_port}",
        "no_proxy": "localhost,127.0.0.1"
    },
}

# Initialize the driver
driver = webdriver.Chrome(
    options=chrome_options,
    seleniumwire_options=seleniumwire_options
)

try:
    # Navigate to a page that shows your IP
    driver.get("http://httpbin.org/ip")
    time.sleep(3)  # Wait for page to load

    # Extract and print the IP address
    body = driver.find_element("tag name", "body").text
    print("Proxy IP response:", body)
finally:
    driver.quit()

توضیح:

  • seleniumwire_options پروکسی را برای ترافیک HTTP و HTTPS پیکربندی می‌کند.
  • URL پروکسی شامل نام کاربری و گذرواژه برای احراز هویت است.
  • اسکریپت از http://httpbin.org/ip بازدید می‌کند تا آدرس IP مشاهده‌شده توسط سرور هدف را نمایش دهد.

۵. اجرا و تأیید پروکسی

اسکریپت را از محیط مجازی فعال خود اجرا کنید:

python scrape_with_dataimpulse.py

اگر موفق باشد، خروجی مشابه زیر را خواهید دید:

{
  "origin": "203.0.113.45"
}

IP نمایش‌داده‌شده باید یک IP مسکونی Dataimpulse باشد، نه IP محلی شما. می‌توانید با مقایسه با IP واقعی خود از سرویسی مانند whatismyip.com آن را تأیید کنید.

۶. (اختیاری) چرخش پروکسی‌ها برای وب اسکرپینگ در مقیاس بزرگ

پروکسی‌های مسکونی Dataimpulse از چرخش با تغییر شناسه نشست یا استفاده از پورت‌های مختلف پشتیبانی می‌کنند. با Selenium-Wire، می‌توانید برای هر چرخش یک نمونه driver جدید ایجاد کنید، یا در صورت وجود از پارامترهای چرخش Dataimpulse استفاده کنید (به داشبورد خود مراجعه کنید). برای مثال، برای چرخش در هر درخواست، می‌توانید یک شناسه نشست به نام کاربری اضافه کنید (مثلاً username-session-123). برای نحو دقیق چرخش، مستندات Dataimpulse را بررسی کنید.

یک الگوی چرخش ساده این است که برای هر صفحه هدف یک driver جدید بسازید:

def scrape_with_rotation(url):
    # Use a unique session ID per request if supported
    session_id = str(uuid.uuid4())[:8]
    username_with_session = f"{proxy_username}-session-{session_id}"
    # ... configure proxy with username_with_session ...
    driver = webdriver.Chrome(...)
    driver.get(url)
    # ... scrape ...
    driver.quit()

عیب‌یابی

  • خطاهای احراز هویت: مطمئن شوید نام کاربری و گذرواژه‌تان درست است. اگر از کاراکترهای خاص استفاده می‌کنید، آن‌ها را URL-encode کنید.
  • اتصال پروکسی رد شد: هاست و پورت پروکسی را از داشبورد Dataimpulse خود تأیید کنید. اگر از احراز هویت IP استفاده می‌کنید (که در اینجا پوشش داده نشده)، بررسی کنید که IP شما در لیست سفید باشد.
  • WebDriver پیدا نشد: WebDriver مناسب (مثلاً ChromeDriver) را دانلود کنید و مطمئن شوید که در PATH شما قرار دارد.
  • عملکرد کند: پروکسی‌های مسکونی می‌توانند کندتر از پروکسی‌های مرکز داده باشند. هم‌زمانی را کاهش دهید یا برای افزایش سرعت از حالت headless استفاده کنید.
  • خطاهای SSL: اگر با مشکلات گواهی SSL مواجه شدید، برای آزمایش chrome_options.add_argument("--ignore-certificate-errors") را اضافه کنید.

خلاصه

شما یاد گرفتید چگونه پروکسی‌های مسکونی Dataimpulse را با Selenium در ویندوز ادغام کنید. با استفاده از Selenium-Wire، می‌توانید احراز هویت پروکسی را به‌راحتی مدیریت کنید و ترافیک مرورگر را از طریق استخر بیش از ۹۰ میلیون IP Dataimpulse مسیردهی کنید. این راه‌اندازی برای وب اسکرپینگ با حجم بالا ایده‌آل است، زیرا مدل پرداخت به‌ازای مصرف Dataimpulse هزینه‌ها را قابل پیش‌بینی نگه می‌دارد. به یاد داشته باشید پروکسی‌ها را بچرخانید و به شرایط استفاده وب‌سایت‌ها احترام بگذارید.