چگونه از پروکسیهای ProxyScrape با Selenium در لینوکس برای وباسکرپینگ استفاده کنیم (راهنمای مبتدیان)
راهنمای گامبهگام و مناسب مبتدیان برای پیکربندی پروکسیهای مسکونی، دیتاسنتر یا موبایل ProxyScrape در Selenium روی لینوکس. شامل راهاندازی HTTP و SOCKS5، راهکارهای احراز هویت، و چرخش پایه برای وباسکرپینگ.
نمای کلی
اگر به دنبال «proxy scape»، «proxyscaper» یا «proxyscape» بودهاید، احتمالاً منظورتان ProxyScrape است. این راهنما از املای صحیح استفاده میکند. ProxyScrape پروکسیهای مسکونی، دیتاسنتر و موبایل را با پشتیبانی HTTP و SOCKS5، مجموعهای از بیش از ۹۷ میلیون IP، و صورتحساب هم پرداخت بهازای مصرف و هم ماهانه ثابت ارائه میدهد.
در این آموزش مبتدی، شما پروکسیهای ProxyScrape را در Selenium روی لینوکس برای اسکرپ صفحات وب راهاندازی میکنید. ما HTTP و SOCKS5، احراز هویت و چرخش پایه را پوشش میدهیم. در پایان، یک اسکریپت Selenium کارآمد خواهید داشت که ترافیک را از طریق یک پروکسی ProxyScrape هدایت میکند.
پیشنیازها
- یک حساب ProxyScrape (آزمایشی رایگان یا طرح پرداختی).
- سیستم لینوکس (تستشده روی Ubuntu/Debian).
- پایتون ۳.۶ یا بالاتر.
- مدیر بسته pip.
- نصب بودن Google Chrome یا Firefox.
- آشنایی پایه با ترمینال.
مراحل
-
اعتبارنامههای پروکسی ProxyScrape خود را دریافت کنید.
به داشبورد ProxyScrape خود وارد شوید و به نوع پروکسی موردنظرتان بروید (مسکونی، دیتاسنتر یا موبایل). موارد زیر را یادداشت کنید:
- نقطه پایانی:
host:port - نام کاربری و رمز عبور (اگر احراز هویت فعال است)
برای وباسکرپینگ، پروکسیهای مسکونی غالباً قابلاعتمادترین گزینه برای جلوگیری از بلاک شدن هستند، در حالی که پروکسیهای دیتاسنتر سریعتر و ارزانترند.
- نقطه پایانی:
-
نصب Selenium و WebDriver روی لینوکس.
بسته پایتون Selenium را نصب کنید:
pip install seleniumChromeDriver را نصب کنید (برای Chrome/Chromium):
sudo apt update sudo apt install chromium-chromedriverیا GeckoDriver را نصب کنید (برای Firefox):
sudo apt install firefox-geckodriverمطمئن شوید درایور در PATH شما قرار دارد. میتوانید با
which chromedriverبررسی کنید. -
یک اسکریپت پایه 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 واقعی شما را نشان داد، پروکسی بهدرستی کار نمیکند.
-
احراز هویت پروکسی را برای پروکسیهای HTTP مدیریت کنید.
پرچم
--proxy-serverکروم برای پروکسیهای HTTP از نام کاربری/رمز عبور درونخطی پشتیبانی نمیکند. سادهترین راهحل برای مبتدیان این است که IP خود را در داشبورد ProxyScrape در فهرست سفید قرار دهید. به تنظیمات پروکسی خود بروید و IP عمومی فعلیتان را به فهرست سفید اضافه کنید، سپس نام کاربری/رمز عبور را از URL پروکسی حذف کنید.در غیر این صورت، از کتابخانه
selenium-wireاستفاده کنید که از پروکسیهای دارای احراز هویت پشتیبانی میکند:pip install selenium-wirefrom 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() -
استفاده از پروکسیهای SOCKS5 با Selenium.
ProxyScrape از SOCKS5 نیز پشتیبانی میکند. کروم میتواند از SOCKS5 با احراز هویت درونخطی استفاده کند:
PROXY = "socks5://username:password@host:port" chrome_options.add_argument(f'--proxy-server={PROXY}')توجه داشته باشید که Firefox ممکن است برای احراز هویت SOCKS5 به پیکربندی اضافی نیاز داشته باشد.
-
چرخش پایه پروکسی را اضافه کنید.
برای چرخش ساده، فهرستی از پروکسیها نگه دارید و برای هر نشست مرورگر بهصورت تصادفی یکی را انتخاب کنید. پروکسیهای مسکونی 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با میانافزار سفارشی را در نظر بگیرید. -
اسکریپت اسکرپینگ خود را تست کنید.
یک اسکرپر ساده بنویسید تا صفحهای را واکشی کرده و عنوان را استخراج کند:
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 را بررسی کنید.