परिचय
हम Python में URL एक्सेस और ओपन करने के लिए urllib.request मॉड्यूल का उपयोग करते हैं, जो अक्सर HTTP प्रोटोकॉल का उपयोग करते हैं।
इस्तेमाल किया गया इंटरफेस शुरुआती लोगों के लिए उपयोग करना और सीखना बहुत सरल है; यह urlopen फंक्शन का उपयोग करता है जो विभिन्न प्रोटोकॉल का उपयोग करके विभिन्न URL ला सकता है।
एक बार जब हम इसकी विभिन्न कार्यक्षमताओं का उपयोग करना शुरू करेंगे तो आपको इस बात की बेहतर समझ होगी कि हम किसके साथ काम कर रहे हैं। तो, आइए शुरू करें।
शुरुआत करना
urllib लाइब्रेरी Python के साथ पैकेज्ड आती है। इसलिए, आपको इसे अलग से इंस्टॉल करने की आवश्यकता नहीं है, लेकिन यदि आप इसे अपने एनवायरनमेंट में जोड़ना चाहते हैं और आपके पास यह पहले से नहीं है, तो आप इसे pip पैकेज मैनेजर का उपयोग करके इंस्टॉल कर सकते हैं।
अपना टर्मिनल लॉन्च करें और नीचे दिए गए कोड का उपयोग करें,
pip install urllib
एक बार जब आपके पास यह इंस्टॉल हो जाता है, तो आप सही मॉड्यूल्स इम्पोर्ट करके अपना स्क्रिप्ट लिखना शुरू कर सकते हैं।
urllib.request देखना
हम अक्सर डेटा या पेज के सोर्स कोड को ओपन और पढ़ने के लिए urllib.request का उपयोग करते हैं। यह विशेष रूप से उपयोगी हो जाता है यदि आप API से डेटा रिट्रीव करने का प्रयास कर रहे हैं। उदाहरण के लिए,
import urllib.request
request_url = urllib.request.urlopen('https://official-joke-api.appspot.com/random_ten')
उपरोक्त कोड लाइनें जोक API को खोलेंगी और इसका डेटा पढ़ेंगी।
मान लीजिए आप इसकी कंटेंट प्रिंट करना चाहते हैं, तो आप उपयोग कर सकते हैं -
print(request_url.read())
नोट - यह बाइट फॉर्मेट में वैल्यू प्रिंट करेगा। यदि आप प्लेन टेक्स्ट चाहते हैं, तो डिकोड फंक्शन का उपयोग करें।
print(request_url.read().decode())
आप API से डेटा को सेव भी कर सकते हैं और बाद में RegEx का उपयोग करके इसे पार्स करके केवल आवश्यक डेटा प्राप्त कर सकते हैं।
उदाहरण
import urllib.request
data = urllib.request.urlopen('https://official-joke-api.appspot.com/random_ten')
data = data.read().decode()
print(data)
file = open("content.txt", "w+")
file.write(data)
file.close()
नोट - आप विभिन्न प्रोटोकॉल वाले URL एक्सेस कर सकते हैं, जिनमें FTP, HTTPS आदि शामिल हैं। urlopen फंक्शन सभी अलग-अलग प्रोटोकॉल के लिए बिल्कुल उसी तरह काम करता है।
URL पर डेटा भेजना
यदि आप कॉमन गेटवे इंटरफेस के साथ काम कर रहे हैं, तो आप URL पर डेटा भेजना चाह सकते हैं। यह इसी तरह काम करता है जैसे HTTP जहां यह POST रिक्वेस्ट भेजता है।
आप urllib.request के साथ urllib.parse मॉड्यूल का उपयोग करके इसे प्राप्त कर सकते हैं।
आइए पहले मॉड्यूल्स इम्पोर्ट करें।
उदाहरण
import urllib.parse
import urllib.request
url = 'https://www.google.com/cgi-bin/register.cgi'
values = {'name': 'S Vijay Balaji', 'language': 'Python'}
data = urllib.parse.urlencode(values)
data = data.encode('ascii')
req = urllib.request.Request(url, data)
with urllib.request.urlopen(req) as response:
the_page = response.read()
इससे प्रदान किए गए URL से सोर्स कोड प्रिंट होना चाहिए।
निष्कर्ष
urllib.request मॉड्यूल बहुत उपयोगी है क्योंकि हम इंटरनेट संसाधनों को रिट्रीव कर सकते हैं और उनसे डेटा प्राप्त कर सकते हैं।
यह API से डेटा पार्स करते समय या वेब पेज के सोर्स कोड को पढ़कर उसका कंटेंट स्क्रैप करते समय काम आता है।
प्रोजेक्ट जहां urllib.request का उपयोग विभिन्न APIs से डेटा निकालने के लिए किया गया था - https://github.com/SVijayB/Steam_WebScraper।
urllib.request मॉड्यूल से विभिन्न अन्य फंक्शन्स हैं। यदि आप उत्सुक हैं और अधिक सीखना चाहते हैं, तो आप उनकी आधिकारिक डॉक्यूमेंटेशन पर जा सकते हैं - https://docs.python.org/3/library/urllib.request.html।