ここで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 件のコメント:
コメントを投稿