マネーフォワードのプログラマ、奥野(@bugslife)です。
今回は『地獄のミサワrssフィードをjsonフィードに変換するTips』を紹介します。
やりたいこと
フィードのデータがrssで配信されていて「jsonだったら手っ取り早いのになぁ。。。」とか「javascriptでdomパースが面倒」という事が私はよくあります。
勿論どの言語でも出来るのですが、今回は私の好きなRubyでお手軽にjsonへの変換をしてみます。
jsonフィードサーバーを作ります
手順は下記の通り。
- httpを読み取る (open-uri)
- json化する (ActiveSupport)
- webサーバを起動する (sinatra)
Rubyだとたったの12行! Rubyの中でも特にsinatraが好きです。 ※json化はqiita@y_matsuwitterさんの記事を参考にさせて頂きました。
[gist id="e9b050ff72aff19525ac"]
こちらを使いたいのはcoffee script(hubot)なのですが・・・
クライアントも作ります
今回はRubyで利用例を載せます。 こちらも同じノリなのですが、フィードはhtml形式になっていますのでNokogiri 鋸を使いました。
[gist id="7a1a55e1ec8721ae1327"]
実行!
これを実行すると・・・ [code language="bash"] ruby misawa_sample_client.rb > misawa.html chromium-browser misawa.html [/code]
と、わざわざxpathを解析せずとも、欲しいデータを抽出可能です。
つづく!(かも知れません)