ایجاد یک مکانیسم چرخش پراکسی کارآمد هنگام برخورد با کارهای خراش دادن وب یا داده کاوی در مقیاس بزرگ ضروری است. در حالی که مراحل اولیه پروژه های خراش دادن وب یا خزیدن در مقیاس حداقل ممکن است با یک راه اندازی اولیه کافی باشد، چالش واقعی هنگام افزایش مقیاس ایجاد می شود. برای کاهش خطراتی مانند مسدود کردن IP و اطمینان از استحکام زیرساخت خراش دادن شما، استفاده از یک سیستم چرخش پروکسی پیچیده ضروری است.
برای چنین اهدافی، استفاده از یک ارائه دهنده خدمات پروکسی حرفه ای مانند OneProxy بسیار ارزشمند می شود. با مجموعه متنوعی از سرورهای پروکسی مرکز داده، چنین خدماتی می توانند قابلیت اطمینان و کارایی وظایف خراش دادن شما را بسیار افزایش دهند.
در زیر، ما به توسعه یک روتاتور پروکسی پیشرفته تر با استفاده از پایتون و سوپ زیبا می پردازیم و از خدمات OneProxy برای نتایج بهینه استفاده می کنیم.
راه اندازی اولیه
قبل از شروع، مطمئن شوید که سوپ زیبا و سوپ دارید requests
کتابخانه ای که در محیط پایتون شما نصب شده است. این ابزارها شما را قادر می سازند تا محتوای HTML را تجزیه کنید و درخواست های HTTP را به راحتی مدیریت کنید.
اسکریپت چرخش پروکسی ما، پراکسیهای عمومی را از استخر پراکسی رایگان OneProxy واکشی میکند که میتوانید به آن دسترسی پیدا کنید. لیست پروکسی رایگان OneProxy. این فهرست به طور مرتب به روز می شود و مجموعه جدیدی از پروکسی ها را برای نیازهای مختلف ارائه می دهد.
کد اصلی واکشی
ابتدا باید کد اصلی را برای واکشی محتوای HTML از لیست پراکسی رایگان OneProxy ایجاد کنیم. ما از یک رشته عامل کاربر برای شبیهسازی یک مرورگر وب استفاده میکنیم که به دور زدن تشخیصهای ربات مبتنی بر عامل کاربر کمک میکند.
# -*- coding: utf-8 -*-
from bs4 import BeautifulSoup
import requests
url = https://oneproxy.pro/free-proxy/
def fetch_proxies(url):
header = {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) ' +
'AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9'
}
response = requests.get(url, headers=header)
return response.content
این تابع به سادگی محتوای HTML را از URL ارائه شده بازیابی می کند.
تجزیه لیست پروکسی
را BeautifulSoup
کتابخانه محتوای HTML را برای استخراج پراکسی ها تجزیه می کند. پراکسی ها معمولاً در یک ساختار جدول در صفحه وب فهرست می شوند که با برچسب ها و ویژگی های خاص HTML مشخص می شوند.
def parse_proxies(html_content):
soup = BeautifulSoup(html_content, 'lxml')
proxy_table = soup.select_one('#proxy-list-table') # Replace with the correct ID
proxies = []
for row in proxy_table.select('tr'):
columns = row.select('td')
if columns:
ip, port = columns[0].get_text(), columns[1].get_text()
proxies.append({'ip': ip, 'port': port})
return proxies
پراکسی های چرخشی
تابع زیر با انتخاب تصادفی یک پراکسی موجود از لیست واکشی شده، چرخش پراکسی را هماهنگ می کند:
from random import choice
def rotate_proxies(proxies):
if proxies:
return choice(proxies)
else:
return None
همه اش را بگذار کنار هم
با ترکیب تمام توابع، اسکریپت نهایی واکشی، تجزیه و چرخش پروکسی را ادغام می کند و یک سیستم چرخش پروکسی یکپارچه را ارائه می دهد.
# -*- coding: utf-8 -*-
import requests
from bs4 import BeautifulSoup
from random import choice
# Functions previously defined: fetch_proxies, parse_proxies, rotate_proxies
proxies = [] # This will hold our list of proxies
def refresh_proxies():
global proxies
proxies = parse_proxies(fetch_proxies('https://oneproxy.pro/free-proxy/'))
def get_random_proxy():
if not proxies:
refresh_proxies()
return rotate_proxies(proxies)
# Main execution
refresh_proxies()
proxy = get_random_proxy()
print(proxy['ip'], proxy['port'])
مقیاس بندی حرفه ای با OneProxy
برای محیطهای تولیدی که مقیاس آن به هزاران درخواست گسترش مییابد، به دلیل ملاحظات قابلیت اطمینان و سرعت، ممکن است استخرهای پروکسی رایگان کافی نباشند. در این مقطع، یک سرویس پروکسی چرخشی ضروری می شود.
OneProxy یک راه حل قوی با ویژگی هایی مانند:
- پراکسی های جهانی با سرعت بالا: میلیون ها پروکسی مرکز داده در سراسر جهان اتصالات بی وقفه و سریع را تضمین می کنند.
- چرخش خودکار IP: آدرس های IP به طور یکپارچه چرخانده می شوند تا از شناسایی و ممنوعیت جلوگیری شود.
- چرخش رشته کاربر-عامل: درخواستهای مرورگرها و نسخههای مختلف وب را تقلید میکند و عدم شناسایی رباتها را افزایش میدهد.
- حل CAPTCHA: فناوری را برای حل خودکار CAPTCHA ها یکپارچه می کند و در نتیجه فرآیند خراش دادن را ساده می کند.
با OneProxy، مشتریان پیروزمندانه از چالشهای مسدود کردن IP عبور کردهاند و در نتیجه فرآیند استخراج دادههای وب خود را سادهتر کردهاند.
خدمات OneProxy همه کاره هستند و می توانند در هر زبان برنامه نویسی پیاده سازی شوند و طیف وسیعی از پروژه ها و نیازمندی ها را برآورده کنند.
پیشنهاد ویژه: قدرت چرخش پروکسی حرفه ای را با OneProxy تجربه کنید. با 50000 درخواست بدون هزینه شروع کنید