Yandex.Your मौसम

नमस्ते! बहुत लंबे समय तक मैंने कोई लेख नहीं लिखा था, और वास्तव में, लंबे समय से मैं इस विषय को प्रकाशित करने के बारे में सोच रहा था या नहीं, लेकिन फिर भी तय किया।

"क्या मैं के लिए"

रुचि के लिए, अपने "हम्सटर" पर (लगभग 5 साल पहले यह वाक्यांश थोड़ा लोकप्रिय था ) मौसम विजेट को जकड़ने की इच्छा थी।
इसके अलावा, मैं इसे एक तरह का अतिसूक्ष्मवाद देखना चाहता था - वर्तमान तापमान और एक अच्छा सा आइकन (सूरज, बादल या बर्फ)

कई मौसम सेवाओं द्वारा पेश किए जाने वाले समाधान अपेक्षाकृत भारी हैं और, मेरी राय में, आंख को बहुत पसंद नहीं है :) मैं कुछ करना चाहूंगा)

मुझे यैंडेक्स सेवाओं का उपयोग करने में आनंद आता है, इसलिए मैंने खुद से सवाल पूछा कि "आपका यैंडेक्स कैसे बनाया जाए?"? :)

"डिब्बे में ..."

इंटरनेट की गहराई में "खुदाई" के 10 मिनट ने मुझे एक जवाब दिया कि हमें उन सभी डेटा के साथ XML मौसम कैसे प्राप्त करना चाहिए।

1. शहर की आई.डी. आप इसे शहरों की सूची में देख सकते हैं (शहर को खोजने के लिए Ctrl + F का उपयोग करें)
समय-समय पर फ़ाइल (404 क्रैश) तक नहीं पहुँचें

आईडी दूसरे तरीके से मिल सकती है: यांडेक्स में अनुरोध डायल करें - मौसम पर ...... (और लिंक पता देखें)


उदाहरण के लिए: केमेरोवो आईडी = 29642

2. दरअसल, अब हम xml ही ले सकते हैं।
लिंक प्रारूप export.yandex.ru/weather-ng/forecasts{id_city}.xml

हमारे उदाहरण के लिए: http://export.yandex.ru/weather-ng/forecasts/29642.xml

3. पार्सर । यहाँ, जैसा कि आप कृपया, आप टहल सकते हैं) मैं कोड प्रतिभा का नाटक नहीं करता, लेकिन उदाहरण के लिए, मेरी iknowweater.php फ़ाइल

 <?php $city_id=29642; // id  $data_file="http://export.yandex.ru/weather-ng/forecasts/$city_id.xml"; //  xml  $xml = simplexml_load_file($data_file); //  xml   //    (, ,      (, ) $city=$xml->fact->station; $temp=$xml->fact->temperature; $pic=$xml->fact->image; $type=$xml->fact->weather_type; //    ,    "+" if ($temp>0) {$temp='+'.$temp;} ?> <div id="weather"> <?php echo ("<a href=\"http://pogoda.yandex.ru/$city_id/\">$city</a>"); echo ("<img src=\"http://img.yandex.net/i/wiz$pic.png\" alt=\"$type\" title=\"$type\">$temp<sup>o</sup>C"); ?> </div> 


हमें कुछ ऐसा मिलता है

विभिन्न शहरों में मौसम की सूची प्रदर्शित करने के लिए, आप अपनी इच्छानुसार सामान्य लूप का उपयोग कर सकते हैं)


कॉपीराइट पर उल्लंघन न करने के लिए, हम स्रोत से संबंधित लिंक के साथ कॉपीराइट जोड़ते हैं।
मौसम डेटा Yandex.Weather सेवा द्वारा प्रदान किया जाता है (या जैसा कि वे पृष्ठ पर है - FORECA द्वारा प्रदान किया गया डेटा)।

4. स्क्रिप्ट शामिल करें, शैली लिखें और आनंद लें



PS उन लोगों के लिए जो लार के साथ छिड़कना पसंद करते हैं: मैं एक मूल समाधान और एक सरल निष्पादन का दिखावा नहीं करता; लेख विकल्पों में से एक के रूप में लिखा गया था।
बेशक, आप कुछ भी कर सकते हैं और कैशिंग कर सकते हैं, और सामान्य रूप से डेटा और विशेषताओं के आधार पर पूरी तरह कार्यात्मक साइट, लेकिन क्यों? (उदाहरण के लिए, पर्याप्त, मुख्य बात यह है कि यह अपना कार्य करता है। अचानक यह काम आएगा)

व्यावसायिक उपयोग या लाभ की बात नहीं थी। सब कुछ "मनोरंजन के लिए" किया गया था।

Source: https://habr.com/ru/post/In136149/


All Articles