ここでnodeでXMLを読み込む際に便利なxml2jsをインストールしておく
# /usr/local/node/bin/npm install xml2js xml2js@0.4.15 node_modules/xml2js ├── sax@1.1.4 └── xmlbuilder@4.1.0 (lodash@3.10.1)
今回は地元の大阪の週間天気を取り出すことにした。内容はこちら。
取得したRSSをパースして天気の内容を取りだす。
// 大阪の週間天気予報RSS var RSS = "http://rss.weather.yahoo.co.jp/rss/days/6200.xml"; // モジュールの読み込み var parseString = require('xml2js').parseString; var request = require('request'); // RSS取得 request(RSS, function(err, response, body){ if(!err && response.statusCode == 200){ analyzeRSS(body); } }); // 関数定義 function analyzeRSS(xml){ // XMLをJSのオブジェクトに変換 parseString(xml, function(err, obj){ // エラー処理 if(err){ console.log(err); return; } // RSS内のあるrss要素の下のchannel要素のitemをすべて取り出す var items = obj.rss.channel[0].item; // item要素の数だけループさせる for(var i in items){ var item = items[i]; // item内のtitle要素をコンソールに表示 console.log(item.title[0]); } }); }
取得した結果はこちら。
# /usr/local/node/bin/node tenki.js
【 16日(月) 大阪(大阪) 】 晴れ - 22℃/12℃ - Yahoo!天気・災害
【 17日(火) 大阪(大阪) 】 曇後雨 - 22℃/14℃ - Yahoo!天気・災害
【 18日(水) 大阪(大阪) 】 曇時々雨 - 21℃/16℃ - Yahoo!天気・災害
【 19日(木) 大阪(大阪) 】 曇時々雨 - 19℃/13℃ - Yahoo!天気・災害
【 20日(金) 大阪(大阪) 】 曇時々晴 - 19℃/11℃ - Yahoo!天気・災害
【 21日(土) 大阪(大阪) 】 晴時々曇 - 18℃/10℃ - Yahoo!天気・災害
【 22日(日) 大阪(大阪) 】 曇時々晴 - 19℃/11℃ - Yahoo!天気・災害
【 23日(月) 大阪(大阪) 】 曇り - 19℃/13℃ - Yahoo!天気・災害
【 大阪市 】警報・注意報はありません - Yahoo!天気・災害
【 北大阪 】警報・注意報はありません - Yahoo!天気・災害
【 東部大阪 】警報・注意報はありません - Yahoo!天気・災害
【 南河内 】警報・注意報はありません - Yahoo!天気・災害
【 泉州 】警報・注意報はありません - Yahoo!天気・災害
0 件のコメント:
コメントを投稿