شعار proxyscrape داكن

كيفية استخدام وكيل في بايثون

كيفية القيام بذلك, الوكلاء, بايثون, Nov-15-20225 دقائق للقراءة

غالباً ما نصادف مصطلح "البروكسي" عندما نعمل في مجال علوم الكمبيوتر. عند الاتصال بالإنترنت، يحصل كل جهاز كمبيوتر على عنوان بروتوكول إنترنت (IP) فريد من نوعه يحدد الكمبيوتر وموقعه الجغرافي. يرسل الكمبيوتر طلباً كلما احتاج إلى أي معلومات من الإنترنت. الطلب هو

جدول المحتويات

غالباً ما نصادف مصطلح "البروكسي" عندما نعمل في مجال علوم الكمبيوتر. عند الاتصال بالإنترنت، يحصل كل جهاز كمبيوتر على عنوان بروتوكول إنترنت (IP) فريد من نوعه يحدد الكمبيوتر وموقعه الجغرافي. يرسل الكمبيوتر طلباً كلما احتاج إلى أي معلومات من الإنترنت. يتم إرسال الطلب إلى الكمبيوتر الهدف الذي يتحقق من نوع المعلومات المطلوبة. يرسل الكمبيوتر الهدف المعلومات مرة أخرى إذا كان مسموحاً له بإعطائها إلى عنوان IP الخاص بنا. في بعض الأحيان، يريد الكمبيوتر الحصول على المعلومات من الإنترنت دون أن يتم التعرف عليه. عادة ما يتم حظر هذه المعلومات، ولكن يمكننا الحصول عليها باستخدام وكيل يعمل كوسيط بين العميل وجهاز الخادم.

عادةً ما يستخدم العملاء الخادم الوكيل لتصفح صفحات الويب وطلب الموارد بشكل مجهول حيث يعمل كحقل تعريف بين الكمبيوتر العميل والإنترنت. 

أصبحت خوادم البروكسي شائعة جدًا مع تزايد القلق بشأن الأمن على الإنترنت وسرقة البيانات. هنا يطرح السؤال كيف يرتبط الخادم الوكيل بأمان نظامنا؟ يمكننا القول أن الخادم الوكيل يضيف مستوى أمان إضافي بين خادمنا والعالم الخارجي. يساعد هذا الأمان الإضافي في حفظ نظامنا من الاختراق. 

كيفية استخدام وكيل في بايثون؟

لاستخدام البروكسيات مع طلبات Python، عليك اتباع الخطوات التالية.

طلبات الاستيراد

استورد حزمة الطلبات التي هي عبارة عن مكتبة HTTP بسيطة. يمكنك بسهولة إرسال الطلبات من خلال هذه الحزمة دون إضافة سلاسل الاستعلام يدويًا إلى عناوين URL الخاصة بك. يمكنك استيراد الطلبات باستخدام الأمر أدناه.

طلبات الاستيراد

إنشاء قاموس

تحتاج إلى إنشاء قاموس بروكسيات يحدد اتصالات HTTP و HTTPS. يمكنك إعطاء متغير القاموس أي اسم مثل "البروكسيات" الذي يعيّن بروتوكولًا لعنوان URL الوكيل. علاوة على ذلك، عليك أن تجعل متغير عنوان URL مضبوطًا على موقع الويب الذي تريد الكشط منه.

proxies = {
  "http":'http://203.190.46.62:8080',
  "https":'https://111.68.26.237:8080'
}
url = 'https://httpbin.org/ip'

هنا يحدد القاموس عنوان URL الخاص بالوكيل لبروتوكولين منفصلين، أي HTTP و HTTPS.

إنشاء متغير استجابة

عليك إنشاء متغير استجابة يستخدم أيًا من طرق الطلبات. تأخذ هذه الطريقة وسيطتين:

  • عنوان URL الذي قمت بإنشائه
  • القاموس الذي عرفته
الاستجابة = طلبات.get(url,proxies = proxies)
طباعة(response.json())

يكون الناتج على النحو التالي:

طرق الطلبات

هناك عدد من طرق الطلبات مثل:

  • GET - يسترجع المعلومات من خادم معين باستخدام عنوان URL معين. 
  • POST - يطلب هذا الأسلوب أن يقبل خادم الويب المحدد البيانات المرفقة في نص رسالة الطلب لتخزينها.
  • PUT - يطلب تخزين البيانات المرفقة تحت عنوان URL المحدد.
  • حذف - يرسل هذا الأسلوب طلب حذف إلى عنوان URL المحدد.
  • PATCH - أسلوب الطلب هذا مدعوم من قبل بروتوكول HTTP ويقوم بإجراء تغييرات جزئية على مورد موجود. 
  • HEAD - يرسل طلب HEAD إلى عنوان URL المحدد عندما لا تحتاج إلى محتوى الملف وتريد فقط رؤوس HTTP أو رمز_الحالة.

يمكنك استخدام بناء الجملة أدناه لطرق الطلبات عند تحديد عنوان URL. هنا، عنوان URL الخاص بنا هو نفسه الذي استخدمناه في الكود أعلاه، أي https://httpbin.org/ip.

response = requests.get(url)
response = requests.post(url, data={"a": 1, "b": 2})
response = requests.put(url)
response = requests.delete(url)
response = requests.patch(url)
response = requests.head(url)
response = requests.options(url)

جلسات التوكيل

إذا كنت ترغب في كشط البيانات من مواقع الويب التي تستخدم الجلسات، يمكنك اتباع الخطوات الواردة أدناه.

الخطوة رقم 01

استيراد مكتبة الطلبات.

طلبات الاستيراد

الخطوة رقم 02

قم بإنشاء كائن جلسة عمل عن طريق إنشاء متغير جلسة عمل وتعيينه على أسلوب طلب جلسة العمل(). 

session = requests.Session()

session.proxies = {
   'http': 'http://10.10.10.10:8000',
   'https': 'http://10.10.10.10:8000',
}

url = 'http://mywebsite.com/example'

الخطوة رقم 03

أرسل وكلاء الجلسة من خلال أسلوب الطلبات ومرر عنوان URL كوسيطة.

الاستجابة = session.get(url)

الأنواع الرئيسية للوكلاء

لنناقش النوعين الأساسيين من الوكلاء، أي

الوكلاء الثابتونالوكلاء الدوارون

البروكسيات الثابتة

يمكننا تعريف البروكسيات الثابتة على أنها بروتوكولات الإنترنت الثابتة التي يتم تعيينها عبر عقد مزود خدمة الإنترنت (ISP). وهي مصممة لتبقى متصلة بخادم وكيل واحد لفترة زمنية محددة. يشير اسم "ثابت" إلى أنه يسمح لنا بالعمل كمستخدم سكني بنفس عنوان IP طالما كان ذلك مطلوباً. 

باختصار، مع استخدام البروكسيات الثابتة، نحصل على سرعة البروكسيات في مراكز البيانات وإخفاء الهوية العالية التي تتمتع بها البروكسيات السكنية. علاوة على ذلك، يسمح لنا الوكيل الثابت بتجنب تناوب عناوين IP، مما يجعل استخدامه أبسط بكثير.

لا يتم إنشاء خدمات بروتوكول الإنترنت الثابتة باستخدام أجهزة افتراضية، على عكس وكلاء مراكز البيانات العادية. هذه البروكسيات، المعروفة أيضاً بعناوين IP الثابتة، تبدو وكأنها مستهلكين حقيقيين لجميع المواقع الإلكترونية تقريباً. 

الوكلاء الدوّارون

يمكننا تعريف دوران الوكيل كميزة تغير عنوان IP الخاص بنا مع كل طلب جديد نرسله.

عندما نزور موقعًا إلكترونيًا، نرسل طلبًا يُظهر للخادم الوجهة الكثير من البيانات، بما في ذلك عنوان IP الخاص بنا. على سبيل المثال، عندما نجمع البيانات باستخدام مكشطة (لتوليد عملاء محتملين)، نرسل العديد من هذه الطلبات. لذلك، يشتبه الخادم الوجهة في الأمر ويحظره عندما تأتي معظم الطلبات من نفس عنوان IP. 

لذلك، يجب أن يكون هناك حل لتغيير عنوان IP الخاص بنا مع كل طلب نرسله. هذا الحل هو وكيل دوّار. لذا، لتجنب المتاعب التي لا داعي لها في الحصول على مكشطة لتدوير عناوين IP في كشط الويب، يمكننا الحصول على وكلاء دوّارين والسماح لمزودنا بالاهتمام بالتناوب.

لماذا تحتاج إلى استخدام الوكلاء؟

فيما يلي أسباب استخدام أنواع مختلفة من الوكلاء.

  • يقدّر مديرو وسائل التواصل الاجتماعي البروكسيات لأنها تتيح لهم الالتزام بخادم واحد. إذا قام المستخدمون بتسجيل الدخول إلى حساباتهم باستمرار عن طريق تغيير عناوين IP، فإن منصة التواصل الاجتماعي ستشتبه في الأمر وتحظر ملفاتهم الشخصية.
  • قد تعرض مواقع التجارة الإلكترونية بيانات مختلفة للمستخدمين من مواقع أخرى والزوار العائدين. أيضًا، يصبح الخادم في حالة تنبيه إذا قام المشتري بتسجيل الدخول إلى حسابه عدة مرات من عناوين IP مختلفة. لذا، علينا استخدام البروكسيات للتسوق عبر الإنترنت.
  • نحن بحاجة إلى وكلاء للبحث التسويقي اليدوي عندما يريد أحد المتخصصين التحقق من البيانات المطلوبة من خلال عيون المستخدم من موقع واحد. 
  • يتيح التحقق من الإعلانات للمعلنين التحقق مما إذا كانت إعلاناتهم معروضة على المواقع الإلكترونية الصحيحة ويشاهدها الجمهور المناسب. ويؤدي التغيير المستمر لعناوين IP إلى الوصول إلى العديد من المواقع الإلكترونية المختلفة وبالتالي التحقق من الإعلانات دون حظر عناوين IP.
  • عند الوصول إليها من مواقع محددة، قد يبدو المحتوى نفسه مختلفاً أو قد لا يكون متاحاً. يسمح لنا استخدام الوكلاء بالوصول إلى البيانات الضرورية بغض النظر عن موقعها الجغرافي. 
  • يمكننا استخدام البروكسيات للوصول إلى البيانات، مما يسرّع من سرعة التصفح حيث أن لديها نظام تخزين مؤقت جيد.

الخاتمة

ناقشنا حتى الآن أن البروكسي يعمل كوسيط بين العميل وجهاز الخادم. فكلما طلبت معلومات، يرسل حاسوبك هذا الطلب إلى البروكسي الذي يرسل المعلومات إلى الحاسوب الهدف باستخدام عنوان IP مختلف. وبالتالي يبقى عنوان IP الخاص بك سرياً. علاوةً على ذلك، يمكنك استخدام البروكسي مع وحدة الطلبات في Python وتنفيذ إجراءات مختلفة حسب حاجتك. إذا كنت بحاجة إلى عنوان IP ثابت مع سرعة وكلاء مركز البيانات وإخفاء الهوية العالية للوكلاء المقيمين، فإن البروكسيات الثابتة هي الطريقة المثلى لأن عنوان IP يبقى دون تغيير مع كل طلب جديد. على العكس من ذلك، توفر البروكسيات الدوارة فوائد في الاختبار والكشط.