Python الوصول إلى الإنترنت باستخدام Urllib.Request وurlopen()
ما هو urllib؟
urllib هو أ Python الوحدة التي يمكن استخدامها لفتح عناوين URL. فهو يحدد الوظائف والفئات للمساعدة في إجراءات URL.
بدافع Python يمكنك أيضًا الوصول إلى البيانات واستردادها من الإنترنت مثل XML وHTML وJSON وما إلى ذلك. ويمكنك أيضًا استخدام Python للعمل مع هذه البيانات مباشرة. سنرى في هذا البرنامج التعليمي كيف يمكننا استرداد البيانات من الويب. على سبيل المثال، استخدمنا هنا عنوان URL لفيديو guru99، وسنقوم بالوصول إلى عنوان URL للفيديو باستخدام Python وكذلك طباعة ملف HTML لعنوان URL هذا.
كيفية فتح URL باستخدام Urllib
قبل أن نقوم بتشغيل التعليمات البرمجية للاتصال ببيانات الإنترنت، نحتاج إلى استيراد بيان لوحدة مكتبة URL أو "urllib".
- استيراد urllib
- تحديد وظيفتك الرئيسية
- قم بتعريف المتغير webUrl
- ثم قم باستدعاء الدالة urlopen في مكتبة URL lib
- الرابط الذي نفتحه هو guru99 tutorial على اليوتيوب
- بعد ذلك، سنقوم بطباعة رمز النتيجة
- يتم استرداد رمز النتيجة عن طريق استدعاء وظيفة getcode على متغير webUrl الذي أنشأناه
- سنقوم بتحويل ذلك إلى سلسلة، بحيث يمكن ربطها مع سلسلتنا "رمز النتيجة"
- سيكون هذا رمز HTTP عاديًا "200"، مما يشير إلى أن طلب http تمت معالجته بنجاح
كيفية الحصول على عنوان URL لنموذج ملف HTML في Python
يمكنك أيضًا قراءة ملف HTML باستخدام "وظيفة القراءة" الموجودة في Pythonوعندما تقوم بتشغيل التعليمات البرمجية، سيظهر ملف HTML في وحدة التحكم.
- استدعاء وظيفة القراءة على متغير 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)