「何のために」
![](https://habrastorage.org/storage2/b1e/2ba/f62/b1e2baf626cb59c0ddedfa12328b901e.png)
さらに、その中にある種のミニマリズム、つまり現在の気温と素敵な小さなアイコン(太陽、雲、雪)を見たいと思いました。
多くの気象サービスが提供するソリューションは比較的かさばるので、私の意見では、あまり目を楽しませてくれません:)何か違うことをしたいです)
私はYandexサービスの使用を楽しんでいるので、 「Yandex.Weatherの作り方」という質問を自問しました:)
「ビンに...」
インターネットの奥深くで10分間の「掘り下げ」を行うことで、必要なすべてのデータを使ってXML天気予報を取得する方法についての答えが得られました。
1. 都市IDを取得します。 あなたは都市のリストでそれを見ることができます( 都市を見つけるためにCtrl + Fを使用してください)
定期的にファイルに到達しない(404クラッシュ)
idは2番目の方法で見つけることができます。Yandexでリクエストをダイヤルします-......の天気 (およびリンクアドレスを参照)
![](https://habrastorage.org/storage2/80e/c0e/6fd/80ec0e6fdd8e463bed64eba0721c0a71.png)
例: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>
私たちは次のようなものを得ます
![](https://habrastorage.org/storage2/5a1/644/4b4/5a16444b45015e3c05a66ee5f455c715.png)
さまざまな都市の天気のリストを表示するには、通常のループを使用できます)
![](https://habrastorage.org/storage2/f27/c5c/d94/f27c5cd940577ac371ebafe66fd52c53.png)
著作権を侵害しないように、ソースへの対応するリンクとともに著作権を追加します。
天気データは、 Yandex.Weatherサービスによって提供されます(または、ページにあるとおり-FORECAによって提供されるデータ)。
4.スクリプトを含め、スタイルを記述してお楽しみください 。
PS唾液を振りかけるのが好きな人のために:私は独創的な解決策と巧妙な実行のふりをしません;記事はオプションの一つとして書かれました。
もちろん、データと属性に基づいて何でもできるので、一般的には完全に機能するサイトですが、なぜですか? (たとえば、十分なことは、主な機能はその機能を実行することです。突然便利になります)
商用利用や利益の話はありませんでした。 すべてが「楽しい」ために行われました。