पायथन की सरलता और अनुकूलता ने इसे वर्षों में लोकप्रियता हासिल करने में मदद की है। आप पायथन के साथ इंटरनेट पर उपयोगी डेटा आसानी से प्राप्त कर सकते हैं। फिर आप उस डेटा का उपयोग व्यावहारिक अनुप्रयोग चलाने के लिए कर सकते हैं।
वेब स्क्रैपिंग और एपीआई का उपयोग करके रीयल-टाइम मौसम डेटा ढूंढना सीखें। आप प्राप्त किए गए इस डेटा का उपयोग एक सामान्य मौसम एप्लिकेशन को विकसित करने के लिए कर सकते हैं।
वेब स्क्रैपिंग का उपयोग करके किसी शहर का वर्तमान मौसम विवरण प्राप्त करें
वेब स्क्रैपिंग एक वेबसाइट से डेटा और सामग्री निकालने की प्रक्रिया है. वेब से स्वचालित रूप से डेटा लाने से बहुत सारे उपयोग के मामले खुल जाते हैं। लेकिन इनमें से अधिकतर डेटा एचटीएमएल प्रारूप में है, जिसे आपको प्रासंगिक डेटा निकालने के लिए पार्स और निरीक्षण करने की आवश्यकता है।
आप वेब स्क्रैपिंग का उपयोग करके किसी भी शहर का लाइव मौसम डेटा निकाल सकते हैं। पायथन की ब्यूटीफुल लाइब्रेरी गो-टू लाइब्रेरी है HTML और XML फ़ाइलों से डेटा निकालने के लिए। स्क्रैपिंग प्रक्रिया शुरू करने के लिए आपको पीआईपी के माध्यम से सुंदर सूप पायथन लाइब्रेरी स्थापित करने की आवश्यकता है। सुंदर सूप और अनुरोध पुस्तकालयों को स्थापित करने के लिए टर्मिनल में निम्नलिखित कमांड चलाएँ:
रंज स्थापित करना सुंदरसूप4 अनुरोध
आपके द्वारा आवश्यक लाइब्रेरी स्थापित करने के बाद, उन्हें अपने कोड में आयात करके प्रारंभ करें:
इस परियोजना में प्रयुक्त कोड एक में उपलब्ध है गिटहब रिपॉजिटरी और आपके लिए एमआईटी लाइसेंस के तहत उपयोग करने के लिए स्वतंत्र है।
से बीएस 4 आयात सुंदर सूप
आयात अनुरोध
अगला, आपको हेडर विवरण प्रदान करने की आवश्यकता है ताकि क्लाइंट और सर्वर HTTP अनुरोध या प्रतिक्रिया के साथ अतिरिक्त जानकारी पास कर सकें:
हेडर = {
'उपयोगकर्ता एजेंट': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, गेको की तरह) क्रोम/58.0.3029.110 सफारी/537.3'
}
एक समारोह बनाएँ, Find_weather (), का उपयोग करके Google से क्वेरी करने के लिए अनुरोध प्राप्त करें () तरीका। आप शहर का मौसम जानने के लिए एक खोज URL का उपयोग करेंगे, फिर स्थान, तापमान, समय और मौसम विवरण प्राप्त करने के लिए सार्थक डेटा को परिमार्जन करेंगे। फिर, प्राप्त HTML प्रतिक्रिया को पार्स करने के लिए सुंदर सूप का उपयोग करें:
डीईएफ़find_weather(शहर का नाम):
शहर_नाम = शहर_नाम.बदलें ("", "+")कोशिश:
रेस = अनुरोध। प्राप्त करें (
एफ'https://www.google.com/search? क्ष={शहर_नाम}&ओक्यू = {शहर_नाम}&aqs=chrome.0.35i39l2j0l4j46j69i60.6128j1j7&सोर्सिड = क्रोम&यानी = यूटीएफ-8', हेडर = हेडर)प्रिंट ("लोड हो रहा है...")
सूप = सुंदर सूप (res.text, 'html.पार्सर')
स्थान = सूप। चयन करें ('#wob_loc')[0].getText().strip()
समय = सूप। चयन करें ('#wob_dts')[0].getText().strip()
जानकारी = सूप। चयन करें ('#wob_dc')[0].getText().strip()
तापमान = सूप। चयन करें ('#वोब_टीएम')[0].getText().strip()
प्रिंट ("जगह: " + स्थान)
प्रिंट ("तापमान: " + तापमान + "°सी")
प्रिंट ("समय: " + समय)
प्रिंट ("मौसम विवरण: " + जानकारी)
के अलावा:
प्रिंट ("कृपया एक वैध शहर का नाम दर्ज करें")
तत्व आईडी निकालने के लिए, Google खोज करें और वेब टूल का उपयोग करके अपने ब्राउज़र में पृष्ठ का निरीक्षण करें। आपको उस HTML तत्व की आईडी खोजने के लिए तत्व का निरीक्षण करने की आवश्यकता है जिसके लिए आप डेटा निकालना चाहते हैं:
इसके बाद, इन आईडी को पास करें चुनना() तरीका। यह विधि पार्स किए गए दस्तावेज़ के विरुद्ध CSS चयनकर्ता चलाती है और सभी मिलान करने वाले तत्वों को लौटाती है। पाठ प्राप्त करें () विधि HTML तत्व से पाठ को निकालती है। पट्टी() विधि पाठ से किसी भी अग्रणी और अनुगामी व्हाट्सएप वर्णों को हटा देती है। एक बार जब आप एक स्वच्छ मान निकाल लेते हैं, तो आप इसे एक चर में संग्रहीत कर सकते हैं।
अंत में, उपयोगकर्ता को एक शहर इनपुट करने और इसे पास करने के लिए कहें find_weather समारोह:
शहर_नाम = इनपुट ("शहर का नाम दर्ज करें: ")
शहर_नाम = शहर_नाम + " मौसम"
Find_weather (शहर_नाम)
अब, जब आप कोड चलाते हैं, तो यह आपको शहर का नाम दर्ज करने के लिए कहेगा। परिणाम प्राप्त करने के लिए आपको एक वैध शहर का नाम दर्ज करना होगा या कोड एक अपवाद उत्पन्न करेगा।
OpenWeatherMap API का उपयोग करके किसी शहर का वर्तमान मौसम विवरण प्राप्त करें
OpenWeatherMap एक ऑनलाइन सेवा है, जिसका स्वामित्व OpenWeather Ltd. के पास है। इसका एपीआई किसी भी स्थान के लिए वर्तमान मौसम, पूर्वानुमान और पिछले डेटा सहित वैश्विक मौसम डेटा प्रदान करता है। OpenWeatherMap API का निःशुल्क स्तर 60 कॉल/मिनट की सीमा के साथ वर्तमान मौसम डेटा प्रदान करता है। अपनी स्वयं की API कुंजी प्राप्त करने के लिए आपको OpenWeatherMap पर एक खाता बनाना होगा।
एपीआई कुंजी के साथ कोड को सार्वजनिक रिपॉजिटरी में न धकेलें क्योंकि आपकी स्रोत फ़ाइलों तक पहुंच रखने वाला कोई भी व्यक्ति आपकी कुंजी को देख और चुरा सकता है। प्रोडक्शन ऐप में, विचार करें API कुंजी डेटा को .env फ़ाइल में ले जाना बढ़ी हुई सुरक्षा के लिए।
के लिए जाओ OpenWeatherMap वेबसाइट और एक मुफ़्त खाता बनाएँ। खाता बनाने के बाद, आप अपनी एपीआई कुंजियाँ पर पा सकते हैं मेरी एपीआई कुंजियाँ पृष्ठ। आप OpenWeatherMap द्वारा प्रदान की गई डिफ़ॉल्ट API कुंजी का उपयोग कर सकते हैं या अपनी स्वयं की एक उत्पन्न कर सकते हैं। OpenWeatherMap आपकी परियोजनाओं के लिए जितनी आवश्यक हो उतनी एपीआई कुंजी उत्पन्न करने के लिए सहायता प्रदान करता है।
अब, आप लाइव मौसम डेटा प्राप्त करने के लिए तैयार हैं।
# पुस्तकालयों का आयात करना
आयात अनुरोध
आयात json# यहां अपनी OpenWeatherMap API कुंजी दर्ज करें
# इसे सार्वजनिक रिपॉजिटरी में न धकेलें
एपीआई_की = "आपकी_एपीआई_कुंजी"# मान्य शहर का नाम प्रदान करें
शहर_नाम = इनपुट ("शहर का नाम दर्ज करें: ")# एपीआई यूआरएल पथ का निर्माण
यूआरएल = एफ"http://api.openweathermap.org/data/2.5/weather? क्ष={शहर_नाम}&appid={API_Key}"# एपीआई के लिए अनुरोध प्राप्त करें
प्रतिक्रिया = अनुरोध प्राप्त करें (यूआरएल)# JSON प्रतिक्रिया को एक शब्दकोश में परिवर्तित करना
रेस = प्रतिक्रिया.जेसन ()# सभी को देखने के लिए अगली पंक्ति को अनकमेंट करें
# डेटा जो एपीआई से प्राप्त किया जाता है
# प्रिंट (रेस)# चेक किया जा रहा है कि शहर मिला है या नहीं
# यदि "कॉड" का मान 404 नहीं है,
#अर्थात नगर मिल गया
अगर रेस ["कॉड"] != "404":
डेटा = रेस ["मुख्य"]# लाइव तापमान डेटा संग्रहीत करना
लाइव_तापमान = डेटा ["अस्थायी"]# लाइव प्रेशर डेटा स्टोर करना
लाइव_प्रेशर = डेटा ["दबाव"]
desc = रेस ["मौसम"]# मौसम विवरण संग्रहीत करना
weather_description = विवरण[0]["विवरण"]
प्रिंट ("तापमान (केल्विन स्केल में): " + स्ट्र (लाइव_तापमान))
प्रिंट ("दबाव: " + स्ट्र (लाइव_प्रेशर))
प्रिंट ("विवरण: " + str (मौसम_विवरण))
अन्य:
#शहर न मिले तो,
# कोड के इस ब्लॉक को निष्पादित किया जाएगा
प्रिंट ("कृपया एक वैध शहर का नाम दर्ज करें")
यदि आप एक मान्य एपीआई कुंजी प्रदान करते हैं और सही शहर का नाम दर्ज करते हैं, तो आपको एपीआई से जेएसओएन प्रारूप में डेटा प्राप्त होगा। अगला, आपको इस JSON प्रारूप डेटा को पायथन ऑब्जेक्ट में बदलने की आवश्यकता है जसन () आगे की कार्रवाई करने की विधि। यदि शहर पाया जाता है, तो आपको तानाशाही वस्तु को हल करना होगा (आर ई) आवश्यक जानकारी निकालने के लिए।
लाइव वेदर डेटा का उपयोग करके वेदर एप्लिकेशन विकसित करें
अब जब आप OpenWeatherMap API का उपयोग करके लाइव डेटा प्राप्त करना सीख गए हैं, तो आप इसका उपयोग करके एक साधारण मौसम एप्लिकेशन विकसित करने के लिए तैयार हैं। एक मौसम एप्लिकेशन बनाने से आप जो जानते हैं उसे लागू करने और अपने पायथन कौशल को सुधारने में मदद कर सकते हैं।
व्यावहारिक परियोजनाओं पर अपने हाथ गंदे करना आपको बेहतर डेवलपर बना सकता है। आप अपने पायथन विकास कौशल को मजबूत करने के लिए कुछ अन्य पायथन प्रोजेक्ट जैसे लॉगिन सिस्टम, क्विज़ ऐप या URL शॉर्टनर विकसित कर सकते हैं।