Yandex.Your Weather

こんにちは 非常に長い間、私は記事を何も書いていませんでした。実際、長い間、このトピックを公開するかどうかを考えていましたが、それでも決定しました。



「何のために」


興味のために、彼の「ハムスター」 (約5年前、このフレーズは少し人気がありましたで、天気ウィジェットを固定したいという要望がありました。

さらに、その中にある種のミニマリズム、つまり現在の気温と素敵な小さなアイコン(太陽、雲、雪)を見たいと思いました。



多くの気象サービスが提供するソリューションは比較的かさばるので、私の意見では、あまり目を楽しませてくれません:)何か違うことをしたいです)



私はYandexサービスの使用を楽しんでいるので、 「Yandex.Weatherの作り方」という質問を自問しました:)



「ビンに...」


インターネットの奥深くで10分間の「掘り下げ」を行うことで、必要なすべてのデータを使ってXML天気予報を取得する方法についての答えが得られました。



1. 都市IDを取得します あなたは都市リストでそれを見ることができます( 都市を見つけるためにCtrl + Fを使用してください)

定期的にファイルに到達しない(404クラッシュ)



idは2番目の方法で見つけることができます。Yandexでリクエストをダイヤルします-......の天気 (およびリンクアドレスを参照)





例:Kemerovo id = 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唾液を振りかけるのが好きな人のために:私は独創的な解決策と巧妙な実行のふりをしません;記事はオプションの一つとして書かれました。

もちろん、データと属性に基づいて何でもできるので、一般的には完全に機能するサイトですが、なぜですか? (たとえば、十分なことは、主な機能はその機能を実行することです。突然便利になります)



商用利用や利益の話はありませんでした。 すべてが「楽しい」ために行われました。



All Articles