Python الوصول إلى الإنترنت باستخدام Urllib.Request وurlopen()

ما هو urllib؟

urllib هو أ Python الوحدة التي يمكن استخدامها لفتح عناوين URL. فهو يحدد الوظائف والفئات للمساعدة في إجراءات URL.

بدافع Python يمكنك أيضًا الوصول إلى البيانات واستردادها من الإنترنت مثل XML وHTML وJSON وما إلى ذلك. ويمكنك أيضًا استخدام Python للعمل مع هذه البيانات مباشرة. سنرى في هذا البرنامج التعليمي كيف يمكننا استرداد البيانات من الويب. على سبيل المثال، استخدمنا هنا عنوان URL لفيديو guru99، وسنقوم بالوصول إلى عنوان URL للفيديو باستخدام Python وكذلك طباعة ملف HTML لعنوان URL هذا.

كيفية فتح URL باستخدام Urllib

قبل أن نقوم بتشغيل التعليمات البرمجية للاتصال ببيانات الإنترنت، نحتاج إلى استيراد بيان لوحدة مكتبة URL أو "urllib".

افتح عنوان URL باستخدام Urllib

  • استيراد urllib
  • تحديد وظيفتك الرئيسية
  • قم بتعريف المتغير webUrl
  • ثم قم باستدعاء الدالة urlopen في مكتبة URL lib
  • الرابط الذي نفتحه هو guru99 tutorial على اليوتيوب
  • بعد ذلك، سنقوم بطباعة رمز النتيجة
  • يتم استرداد رمز النتيجة عن طريق استدعاء وظيفة getcode على متغير webUrl الذي أنشأناه
  • سنقوم بتحويل ذلك إلى سلسلة، بحيث يمكن ربطها مع سلسلتنا "رمز النتيجة"
  • سيكون هذا رمز HTTP عاديًا "200"، مما يشير إلى أن طلب http تمت معالجته بنجاح

كيفية الحصول على عنوان URL لنموذج ملف HTML في Python

يمكنك أيضًا قراءة ملف HTML باستخدام "وظيفة القراءة" الموجودة في Pythonوعندما تقوم بتشغيل التعليمات البرمجية، سيظهر ملف HTML في وحدة التحكم.

عنوان URL لنموذج ملف HTML في Python

  • استدعاء وظيفة القراءة على متغير webURL
  • متغير القراءة يسمح بقراءة محتويات ملفات البيانات
  • اقرأ محتوى عنوان URL بالكامل في متغير يسمى data
  • قم بتشغيل الكود- سوف يقوم بطباعة البيانات بتنسيق HTML

ها هو الكود الكامل

Python 2 مثال

#  
# read the data from the URL and print it
#
import urllib2

def main():
# open a connection to a URL using urllib2
   webUrl = urllib2.urlopen("https://www.youtube.com/user/guru99com")
  
#get the result code and print it
   print "result code: " + str(webUrl.getcode()) 
  
# read the data from the URL and print it
   data = webUrl.read()
   print data
 
if __name__ == "__main__":
  main()

Python 3 مثال

#
# read the data from the URL and print it
#
import urllib.request
# open a connection to a URL using urllib
webUrl  = urllib.request.urlopen('https://www.youtube.com/user/guru99com')

#get the result code and print it
print ("result code: " + str(webUrl.getcode()))

# read the data from the URL and print it
data = webUrl.read()
print (data)