When you use a proxy, you do not directly connect to the target server; instead, you direct your request to the proxy server that evaluates it and returns a response. Proxies have many benefits, such as they hide your real IP addresses, bypassing filters, censorship, etc. It is sometimes difficult to perform advanced web scraping
عند استخدام وكيل ، لا تتصل مباشرة بالخادم الهدف ؛ بدلا من ذلك، يمكنك توجيه طلبك إلى الخادم الوكيل الذي يقيمه ويعيد استجابة. تتمتع الخوادم الوكيلة بالعديد من الفوائد ، مثل إخفاء عناوين IP الحقيقية الخاصة بك ، وتجاوز الفلاتر ، والرقابة ، وما إلى ذلك.
من الصعب أحيانا إجراء تجريف ويب متقدم بسبب إرسال طلبات متعددة من نفس عنوان IP. تواجه كاشطات الويب المشكلة الشائعة المتمثلة في حظرها من قبل مواقع الويب التي تتخلص منها. لكن يمكنهم استخدام العديد من التقنيات لمنع التعرض للحظر ، مثل
يمكن أن يساعدك الدوار الوكيل في الالتفاف على معظم تدابير مكافحة الكشط. يمكنك أيضا استخدامه لتجنب أي حدود للأسعار يتم تنفيذها على موقع الويب المستهدف واستخراج البيانات بنجاح. ولكن ما هو الوكيل الدوار؟ إنه وكيل يقوم بتعيين عنوان IP جديد لكل اتصال من تجمع الوكيل. هذا يعني أنه يمكنك إرسال 1000 طلب إلى أي عدد من مواقع الويب عن طريق تشغيل برنامج نصي والحصول على 1000 عنوان IP مختلف.
تساعدك هذه المقالة على فهم كيفية استخدام الوكلاء لتدوير عناوين IP في Python.
يمكنك كشط قائمة من الوكلاء المجانيين وحفظها في ملف نصي باسم list_proxy.txt. يمكنك بعد ذلك اتباع الخطوات أدناه لتدوير عناوين IP في Python.
يجب عليك استيراد وحدة طلبات Python باستخدام الأمر أدناه.
طلبات الاستيراد
إذا لم يتم تثبيت الوحدة في بيئتك ، فيمكنك تثبيتها باستخدام الأمر أدناه.
طلبات تثبيت النقاط
يجب عليك إنشاء دالة send_request تأخذ معلمتين ، i-e ، الجلسة والوكيل. سيكون من الأفضل استخدام وكيل HTTP لأن معظم الوكلاء المجانيين لا يستخدمون بروتوكول HTTPS. سنستخدم كتل الاستثناء التجريبية لأن معظم الوكلاء المجانيين لا يعملون كما تم إدراجهم في القائمة المحظورة.
def send_request(session, proxy):
try:
response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
print(response.json())
except:
pass
هنا يأتي القسم الرئيسي من الكود. يجب عليك قراءة ملف list_proxy.txt الخاص بك وحفظه في المتغير المسمى الوكلاء كما هو موضح أدناه.
إذا __name__ == "__main__":
مع فتح ('list_proxy.txt' ، 'R') كملف:
الوكلاء = ملف.خطوط القراءة ()
يجب عليك استخدام وحدة الطلبات لإنشاء جلسة في Python. استخدمنا حلقة for للتكرار عبر الوكيل في الكود أدناه. ثم مررنا الجلسة والوكيل إلى وظيفة send_request.
مع الطلبات. الجلسة () كجلسة :
للوكيل في الوكلاء:
send_request(جلسة، وكيل)
يمكنك تشغيل البرنامج النصي ورؤية الإخراج كما هو موضح أدناه. ستحصل على قائمة طويلة من الوكلاء ولكن تذكر أنها لن تعمل.
بيثون تناوببروكسي. بي
سيكون الرمز الخاص بك بالكامل على النحو التالي:
import requests
def send_request(session, proxy):
try:
response = session.get('http://httpbin.org/ip', proxies={'http': f"http://{proxy}"})
print(response.json())
except:
pass
if __name__ == "__main__":
with open('list_proxy.txt', 'r') as file:
proxies = file.readlines()
with requests.Session() as session:
for proxy in proxies:
send_request(session, proxy)
فيما يلي بعض النصائح لتدوير الوكلاء في Python عند استخدام وكيل دوار.
معظم خدمات البروكسي المجانية المتاحة مزدحمة ، مما يؤدي إلى أعطال غير متوقعة وتأخيرات محبطة. لذلك ، عندما تخطط للذهاب إلى وكلاء مجانيين ، يجب عليك التحقق مما إذا كانت تتوافق مع احتياجات الكشط الخاصة بك دون التسبب في أي عمليات سحب كبيرة.
معظم الوكلاء المجانيين صالحون لفترة محدودة ، لذا يمكنك إنشاء منطقك الخاص في Python يمكنه تدوير دوار قائمة الوكيل المجاني بعناوين IP العاملة. بهذه الطريقة ، لن تحصل على أي اضطرابات أثناء تجريف الويب.
يجب عليك تجنب استخدام عناوين IP التي تتبع تسلسلا معينا أو تنسيقا يمكن التنبؤ به مثل الانتماء إلى نفس المجموعة. ذلك لأن معظم أدوات مكافحة الكشط يمكنها بسهولة اكتشاف الطلبات المرسلة من عناوين IP هذه. على سبيل المثال ، يجب عليك الامتناع عن استخدام التسلسل التالي لعناوين IP الدورية لأنه سيرفع العلم الأحمر بسرعة.
103.243.132.11
103.243.132.12
103.243.132.13
103.243.132.14
دوارات IP الوكيل المجانية غير آمنة وبطيئة. لذلك ، لن يكون استخدامها مناسبا إذا قمت بتنفيذ مشاريع تجريف ويب متقدمة وواسعة النطاق. باستخدام وكلاء متميزين جيدين ، يمكنك الحصول على خدمة عالية الجودة وكشط الآلاف من صفحات الويب دون التعرض للحصار أو الاضطرابات.
لاستخدام خدمة بروكسي متميزة ، سيتعين عليك دفع بضعة دولارات والحصول على مزود يلبي احتياجات استخراج البيانات الخاصة بك ويضمن خصوصيتك.
فيما يلي ثلاث فئات رئيسية من الوكلاء على الإنترنت.
وكلاء النخبة هم الخيار الأفضل الذي يجب مراعاته من بين هؤلاء الوكلاء حيث يمكنهم منع الاكتشافات وتجاوز القيود. يمكنك فقط إرسال رأس REMOTE_ADDR باستخدام وكيل النخبة مع إبقاء الرؤوس الأخرى فارغة. بهذه الطريقة ، يمكنك تحقيق الخصوصية المثلى مع هؤلاء الوكلاء.
من ناحية أخرى ، يكشف الوكيل الشفاف عن تفاصيل عنوان IP الخاص بك ويرسل عنوان IP الحقيقي الخاص بك عبر رأس HTTP_VIA ورأس HTTP_X_FORWARDED_FOR . لا يكشف الوكيل المجهول عن عنوان IP الفعلي الخاص بك. إما أن يرسل عنوان IP الخاص بالوكيل أو يتركه فارغا.
يمكنك استخدام تدوير IP لتدوير عناوين IP متعددة وتجنب الكشف. ومع ذلك ، يمكن لبعض تدابير مكافحة الكشط تحديد مثل هذه الأنشطة ومنعك من حصاد البيانات. لذلك ، تحتاج أيضا إلى تدوير وكلاء المستخدم بصرف النظر عن تدوير عناوين IP لزيادة فرصك في النجاح.
من السهل إنشاء دوار وكيل في بايثون. يمكنك إنشاء وكلاء عشوائيين ثم إنشاء منطق لكشط البيانات من مواقع الويب. بصرف النظر عن مراكز البيانات والوكلاء السكنيين ، فإن الفئات الأخرى هي وكلاء النخبة والمجهولين والشفافين. وكلاء النخبة هم الخيار الأفضل لأنه يصعب اكتشافهم بواسطة موقع الويب المستهدف. يمكنك استخدام وكلاء مجهولين إذا كنت ترغب فقط في الحفاظ على خصوصيتك على الإنترنت. أخيرا ، يمكنك استخدام وكلاء شفافين ، لكنهم يقدمون أقل فرصة للنجاح. تأمل هذه المقالة في تقديم معلومات متعمقة وإعطاء أمثلة حول كيفية استخدام الوكلاء لتدوير عناوين IP في Python بخطوات ترميز بسيطة