نحوه استفاده از پروکسیهای مسکونی ProxyScrape برای وباسکرپینگ در پایتون
راهنمای گامبهگام برای ادغام پروکسیهای مسکونی و دیتاسنتری ProxyScrape در اسکریپتهای وباسکرپینگ پایتون شما با استفاده از پروتکلهای HTTP و SOCKS5.
مرور کلی
ProxyScrape پروکسیهای مسکونی، دیتاسنتری و موبایل را با پشتیبانی HTTP و SOCKS5 ارائه میدهد، که بر پایه استخری از بیش از ۹۷ میلیون IP پشتیبانی میشود. این آموزش نشان میدهد چگونه از پروکسیهای ProxyScrape در پایتون برای وظایف وباسکرپینگ استفاده کنید. یاد میگیرید که درخواستها را با هر دو HTTP و SOCKS5 پیکربندی کنید، احراز هویت را مدیریت کنید و پروکسیها را بچرخانید. این مراحل برای هر ارائهدهنده پروکسی کاربرد دارد، اما ما از ProxyScrape بهعنوان مثال به دلیل آپتایم قابلاعتماد و پایداری بلندمدت آن استفاده میکنیم.
مراحل
-
دریافت اطلاعات ورود پروکسی از ProxyScrape. وارد داشبورد ProxyScrape خود شوید و به بخش لیست پروکسی یا API بروید. endpoint پروکسی (IP:port)، نام کاربری و رمز عبور را پیدا خواهید کرد. ProxyScrape طرحهای پرداخت بهازای مصرف و صورتحساب ماهانه ثابت را ارائه میدهد، بنابراین طرحی را انتخاب کنید که با حجم اسکرپینگ شما سازگار است.
-
کتابخانههای موردنیاز پایتون را نصب کنید. ترمینال خود را باز کنید و
requestsوrequests[socks]را برای پشتیبانی SOCKS5 نصب کنید:pip install requests requests[socks] -
یک اسکریپت اسکرپینگ پایه با استفاده از پروکسیهای 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()) -
از پروکسیهای 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()) -
پروکسیها را برای جلوگیری از محدودیت نرخ بچرخانید. اگر طرح 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}") -
خطاها و تلاشهای مجدد را مدیریت کنید. اتصالات پروکسی ممکن است شکست بخورند. درخواستهای خود را در بلوکهای try/except قرار دهید و یک مکانیزم تلاش مجدد با پروکسی جدید در صورت شکست پیادهسازی کنید. این کار تضمین میکند که اسکرپر شما قوی باقی بماند.
-
تست و مقیاسپذیری. اسکریپت خود را اجرا کنید و تأیید کنید که IP با هر درخواست تغییر میکند. برای اسکرپینگ در مقیاس بزرگ، استفاده از یک شیء session و تنظیم همروندی بر اساس محدودیتهای طرح ProxyScrape خود را در نظر بگیرید.
توجه: همیشه شرایط استفاده از سرویس وبسایتها و robots.txt را رعایت کنید. پروکسیهای مسکونی و دیتاسنتری ProxyScrape قابلاعتماد هستند، اما شیوههای اخلاقی اسکرپینگ مسئولیت شماست.