يعد إنشاء آلية فعالة لتناوب الوكيل أمرًا ضروريًا عند التعامل مع مهام تجريف الويب أو استخراج البيانات على نطاق واسع. في حين أن المراحل الأولى من مشاريع تجريف الويب أو عمليات الزحف ذات النطاق الأدنى قد تكون كافية مع الإعداد الأساسي، إلا أن التحدي الحقيقي يظهر عند التوسع. للتخفيف من المخاطر مثل حظر IP ولضمان قوة البنية التحتية الخاصة بك، يصبح استخدام نظام دوران الوكيل المتطور أمرًا ضروريًا.
لمثل هذه الأغراض، يصبح استخدام مزود خدمة وكيل محترف مثل OneProxy أمرًا لا يقدر بثمن. مع مجموعة متنوعة من خوادم بروكسي مركز البيانات، يمكن لهذه الخدمات أن تعزز بشكل كبير موثوقية وكفاءة مهام التجريد الخاصة بك.
أدناه، نتعمق في تطوير أداة دوارة وكيل أكثر تقدمًا باستخدام Python وBeautiful Soup، مع الاستفادة من الخدمات المقدمة من 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 طلب دون أي تكلفة