node.jsでスクレイピング(cheerio版)
以前、node.ioを使ったスクレイピングについての記事を書きましたが、cheerioというライブラリ(XML/HTML parser)を使った方が簡単だということに気付いたので、そちらを紹介
cheerio インストール
1 |
$ npm install cheerio |
サンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
var request = require("request"); var cheerio = require("cheerio"); request( { uri: "https://gunmagisgeek.com/blog/", }, function(error, response, body) { var $ = cheerio.load(body); //取得したページのbody部をパース $(".entry-title > a").each(function() { //パースした内容にはjQuery風のセレクタでアクセスできる var link = $(this); var text = link.text(); var href = link.attr("href"); console.log(text + " -> " + href); }); } ); |
こっちの方が簡単ですね。
【追記】
どうも、ちゃんと取得できないときがあるっぽい。
1 2 3 4 |
> $("channel > link").toString() '<link>' > $("channel > title").toString() '<title>GUNMA GIS GEEK</title>' |
“node.jsでスクレイピング(cheerio版)” への1件の返信
現在コメントは受け付けていません。