Skip to content
Beginner / 2 min read

چگونه از پروکسی‌های ProxyScrape با Selenium در لینوکس برای وب‌اسکرپینگ استفاده کنیم (راهنمای مبتدیان)

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

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

نمای کلی

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

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

پیش‌نیازها

  • یک حساب ProxyScrape (آزمایشی رایگان یا طرح پرداختی).
  • سیستم لینوکس (تست‌شده روی Ubuntu/Debian).
  • پایتون ۳.۶ یا بالاتر.
  • مدیر بسته pip.
  • نصب بودن Google Chrome یا Firefox.
  • آشنایی پایه با ترمینال.

مراحل

  1. اعتبارنامه‌های پروکسی ProxyScrape خود را دریافت کنید.

    به داشبورد ProxyScrape خود وارد شوید و به نوع پروکسی موردنظرتان بروید (مسکونی، دیتاسنتر یا موبایل). موارد زیر را یادداشت کنید:

    • نقطه پایانی: host:port
    • نام کاربری و رمز عبور (اگر احراز هویت فعال است)

    برای وب‌اسکرپینگ، پروکسی‌های مسکونی غالباً قابل‌اعتمادترین گزینه برای جلوگیری از بلاک شدن هستند، در حالی که پروکسی‌های دیتاسنتر سریع‌تر و ارزان‌ترند.

  2. نصب Selenium و WebDriver روی لینوکس.

    بسته پایتون Selenium را نصب کنید:

    pip install selenium
    

    ChromeDriver را نصب کنید (برای Chrome/Chromium):

    sudo apt update
    sudo apt install chromium-chromedriver
    

    یا GeckoDriver را نصب کنید (برای Firefox):

    sudo apt install firefox-geckodriver
    

    مطمئن شوید درایور در PATH شما قرار دارد. می‌توانید با which chromedriver بررسی کنید.

  3. یک اسکریپت پایه Selenium با پروکسی HTTP ProxyScrape بنویسید.

    فایلی به نام selenium_proxy.py بسازید و کد زیر را اضافه کنید. جای‌نگهدارها را با اعتبارنامه‌های ProxyScrape خود جایگزین کنید.

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    PROXY = "http://username:password@host:port"  # e.g., http://user123:[email protected]:8080
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={PROXY}')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://httpbin.org/ip")
    print(driver.page_source)
    driver.quit()
    

    اسکریپت را اجرا کنید:

    python selenium_proxy.py
    

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

  4. احراز هویت پروکسی را برای پروکسی‌های HTTP مدیریت کنید.

    پرچم --proxy-server کروم برای پروکسی‌های HTTP از نام کاربری/رمز عبور درون‌خطی پشتیبانی نمی‌کند. ساده‌ترین راه‌حل برای مبتدیان این است که IP خود را در داشبورد ProxyScrape در فهرست سفید قرار دهید. به تنظیمات پروکسی خود بروید و IP عمومی فعلی‌تان را به فهرست سفید اضافه کنید، سپس نام کاربری/رمز عبور را از URL پروکسی حذف کنید.

    در غیر این صورت، از کتابخانه selenium-wire استفاده کنید که از پروکسی‌های دارای احراز هویت پشتیبانی می‌کند:

    pip install selenium-wire
    
    from seleniumwire import webdriver
    
    options = {
        'proxy': {
            'http': 'http://username:password@host:port',
            'https': 'https://username:password@host:port',
        }
    }
    driver = webdriver.Chrome(seleniumwire_options=options)
    driver.get("https://httpbin.org/ip")
    print(driver.page_source)
    driver.quit()
    
  5. استفاده از پروکسی‌های SOCKS5 با Selenium.

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

    PROXY = "socks5://username:password@host:port"
    chrome_options.add_argument(f'--proxy-server={PROXY}')
    

    توجه داشته باشید که Firefox ممکن است برای احراز هویت SOCKS5 به پیکربندی اضافی نیاز داشته باشد.

  6. چرخش پایه پروکسی را اضافه کنید.

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

    import random
    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    
    proxies = [
        "http://user:pass@host1:port",
        "http://user:pass@host2:port",
        # Add more proxies from your ProxyScrape list
    ]
    
    proxy = random.choice(proxies)
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={proxy}')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://httpbin.org/ip")
    print(driver.page_source)
    driver.quit()
    

    برای اسکرپینگ تولیدی، استفاده از یک سرویس چرخش پروکسی یا کتابخانه‌ای مانند selenium-wire با میان‌افزار سفارشی را در نظر بگیرید.

  7. اسکریپت اسکرپینگ خود را تست کنید.

    یک اسکرپر ساده بنویسید تا صفحه‌ای را واکشی کرده و عنوان را استخراج کند:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    from selenium.webdriver.common.by import By
    
    PROXY = "http://username:password@host:port"
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={PROXY}')
    driver = webdriver.Chrome(options=chrome_options)
    driver.get("https://example.com")
    print(driver.title)
    driver.quit()
    

    اگر عنوان صفحه را دیدید، پروکسی شما کار می‌کند.

عیب‌یابی

  • chromedriver پیدا نشد: مطمئن شوید درایور نصب شده و در PATH شماست. در صورت نیاز از export PATH=$PATH:/path/to/driver استفاده کنید.
  • اتصال پروکسی رد شد: اعتبارنامه‌ها، نقطه پایانی و فهرست سفید IP خود را بررسی کنید. بررسی کنید که طرح ProxyScrape شما فعال باشد.
  • پاپ‌آپ احراز هویت در کروم: برای جلوگیری از پاپ‌آپ از فهرست سفید IP یا selenium-wire استفاده کنید.
  • سرعت پایین: برای پاسخ‌های سریع‌تر پروکسی‌های دیتاسنتر را امتحان کنید، یا تعداد نشست‌های هم‌زمان را کاهش دهید.
  • خطاهای گواهی SSL: برای تست، --ignore-certificate-errors را به گزینه‌های کروم اضافه کنید (برای محیط تولید توصیه نمی‌شود).

خلاصه

شما یاد گرفتید چگونه از پروکسی‌های ProxyScrape با Selenium روی لینوکس برای وب‌اسکرپینگ استفاده کنید. ما دریافت اعتبارنامه‌ها، نصب Selenium، تنظیم پروکسی‌های HTTP و SOCKS5، مدیریت احراز هویت و چرخش پایه را پوشش دادیم. به‌یاد داشته باشید که به شرایط خدمات وب‌سایت و robots.txt احترام بگذارید. برای راه‌اندازی‌های پیشرفته‌تر، نقاط پایانی چرخشی و ویژگی‌های کنترل نشست ProxyScrape را بررسی کنید.