Skip to content
intermediate

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

راهنمای گام‌به‌گام برای ادغام پروکسی‌های مسکونی و دیتاسنتری ProxyScrape در اسکریپت‌های وب‌اسکرپینگ پایتون شما با استفاده از پروتکل‌های HTTP و SOCKS5.

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

مرور کلی

ProxyScrape پروکسی‌های مسکونی، دیتاسنتری و موبایل را با پشتیبانی HTTP و SOCKS5 ارائه می‌دهد، که بر پایه استخری از بیش از ۹۷ میلیون IP پشتیبانی می‌شود. این آموزش نشان می‌دهد چگونه از پروکسی‌های ProxyScrape در پایتون برای وظایف وب‌اسکرپینگ استفاده کنید. یاد می‌گیرید که درخواست‌ها را با هر دو HTTP و SOCKS5 پیکربندی کنید، احراز هویت را مدیریت کنید و پروکسی‌ها را بچرخانید. این مراحل برای هر ارائه‌دهنده پروکسی کاربرد دارد، اما ما از ProxyScrape به‌عنوان مثال به دلیل آپ‌تایم قابل‌اعتماد و پایداری بلندمدت آن استفاده می‌کنیم.

مراحل

  1. دریافت اطلاعات ورود پروکسی از ProxyScrape. وارد داشبورد ProxyScrape خود شوید و به بخش لیست پروکسی یا API بروید. endpoint پروکسی (IP:port)، نام کاربری و رمز عبور را پیدا خواهید کرد. ProxyScrape طرح‌های پرداخت به‌ازای مصرف و صورت‌حساب ماهانه ثابت را ارائه می‌دهد، بنابراین طرحی را انتخاب کنید که با حجم اسکرپینگ شما سازگار است.

  2. کتابخانه‌های موردنیاز پایتون را نصب کنید. ترمینال خود را باز کنید و requests و requests[socks] را برای پشتیبانی SOCKS5 نصب کنید:

    pip install requests requests[socks]
    
  3. یک اسکریپت اسکرپینگ پایه با استفاده از پروکسی‌های HTTP بنویسید. یک فایل پایتون ایجاد کنید و از کد زیر برای ارسال درخواست‌ها از طریق پروکسی HTTP ProxyScrape استفاده کنید. جای‌نگهدارها را با اطلاعات ورود واقعی خود جایگزین کنید.

    import requests
    
    proxy_url = "http://username:password@proxy-endpoint:port"
    proxies = {
        "http": proxy_url,
        "https": proxy_url,
    }
    
    response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10)
    print(response.json())
    
  4. از پروکسی‌های SOCKS5 برای ناشناسی بهتر استفاده کنید. ProxyScrape از SOCKS5 پشتیبانی می‌کند. طرح URL پروکسی را به socks5:// تغییر دهید:

    import requests
    
    proxy_url = "socks5://username:password@proxy-endpoint:port"
    proxies = {
        "http": proxy_url,
        "https": proxy_url,
    }
    
    response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10)
    print(response.json())
    
  5. پروکسی‌ها را برای جلوگیری از محدودیت نرخ بچرخانید. اگر طرح ProxyScrape شما یک endpoint چرخشی ارائه می‌دهد، از آن endpoint برای هر درخواست استفاده کنید. در غیر این صورت، فهرستی از endpointهای پروکسی را از داشبورد خود نگه دارید و بین آن‌ها بچرخید. مثال:

    import requests
    import random
    
    proxy_list = [
        "http://user:pass@proxy1:port",
        "http://user:pass@proxy2:port",
        # ... add more
    ]
    
    def get_random_proxy():
        return random.choice(proxy_list)
    
    for _ in range(10):
        proxy_url = get_random_proxy()
        proxies = {"http": proxy_url, "https": proxy_url}
        try:
            response = requests.get("http://httpbin.org/ip", proxies=proxies, timeout=10)
            print(response.json())
        except Exception as e:
            print(f"Proxy failed: {e}")
    
  6. خطاها و تلاش‌های مجدد را مدیریت کنید. اتصالات پروکسی ممکن است شکست بخورند. درخواست‌های خود را در بلوک‌های try/except قرار دهید و یک مکانیزم تلاش مجدد با پروکسی جدید در صورت شکست پیاده‌سازی کنید. این کار تضمین می‌کند که اسکرپر شما قوی باقی بماند.

  7. تست و مقیاس‌پذیری. اسکریپت خود را اجرا کنید و تأیید کنید که IP با هر درخواست تغییر می‌کند. برای اسکرپینگ در مقیاس بزرگ، استفاده از یک شیء session و تنظیم هم‌روندی بر اساس محدودیت‌های طرح ProxyScrape خود را در نظر بگیرید.

توجه: همیشه شرایط استفاده از سرویس وب‌سایت‌ها و robots.txt را رعایت کنید. پروکسی‌های مسکونی و دیتاسنتری ProxyScrape قابل‌اعتماد هستند، اما شیوه‌های اخلاقی اسکرپینگ مسئولیت شماست.