2011年6月27日 #ruby #nokogiri #https

Nokogiriでurlをparseするときは普通こんなコードになります。

doc = Nokogiri::HTML(open('http://example.com/'))

しかし接続先のプロトコールがhttpsの場合はNo such file or directoryのエラーとなります。
一旦net/httpsで取ってからそれをnokogiriでparseするような工夫が必要です。

スレット経緯

bumblebeeというgithubのプロジェクトにinstall.shというファイルがありますが、
実行するとrm -rf /usrのコマンドで/usrが全部削除されることで大騒ぎになったようです。
githubのスレット

bumblebee rm -rf :usr

一個スペースが多かったですね。。

でコメントに上がっている画像がとても面白かったので、それをNokogiriを使って拾うrubyコードを書きました。プログラマのヒューモア満載の画像ですね。

Sinatra + Nokogiri + Herokuで作りました、キャッシュはdalliというgemを使いました。

成果

下記iframeで表示しています。urlはhttp://kinopyo-omgmyusr.heroku.com

ソースコード

githubに上げています。
https://github.com/kinopyo/Funny-Images-in-bumblebee-rm–rf–usr-thread

参考になったリンク:
http://devcenter.heroku.com/articles/memcache