タイトル通りです。

cheerioというnodeのモジュールを使ってXMLを解析して必要な情報をとりだすときのメモです。

cheeriojs/cheerio: Fast, flexible, and lean implementation of core jQuery designed specifically for the server.

インストールはnpmでサクッと

npm install cheerio

XMLモードを有効にする

ここで20分ほどはまりました。

loadメソッドを実行するときにオプションで有効にします。

$ = cheerio(xml, { xmlMode: true });

有効にすることでlinkタグなどがちゃんと読み込まれるようになります。

cheerio/Readme.md#loading

セレクタのエスケープ

タグやID,Classに:(コロン)などの特殊文字が含まれている場合は直前に\(バックスラッシュ)を2つでエスケープします。

$("dc\\:creator").text();

おそらくjQueryと同じだと思われます。

参考:

サンプル

ニコニコ動画のマイリストページのRSSから情報を取り出すサンプルです。

json形式で出力します。

使い方

node mylist_rss.js "id" "user_session"

user_sessionは任意です。

非公開の自分のマイリストを取得するときに使います。

例:

node mylist_rss.js 38085032

ソースコード

MITライセンスです。

view on gist

おわりに

訳あってxml2jsonからcheerioに切り替えたけどなかなか便利ですね。

jQueryっぽく使えるのがすごくいい!