Hpricotのメモ
Hpricotの個人的メモ
HpricotはHTMLをスクレイピングする時に使っていたけど、少し便利に書ける事を知った。
今までは、こんな感じでXPathで書いてた。
hoge = Hpricot(open("http://www.example.com/")) piyo = (hoge/"/html/body/div[3]/div/div/h1").inner_text
でも、
hoge = Hpricot(open("http://www.example.com/")) (hoge/":h1").each |i| i.inner_text end #こうすると3番目のh2タグが取れる (hoge/:h2)[3]
みたいに書ける。
:h1や:h2と書くとその要素全ての配列が返ってくる。 div.hoge で<div class="hoge"> div#piyo で<div id="piyo"> と指定出来る。 他にも :title :body などがある。
なるほど。
div.hogeは便利だな。
a.hoge
みたいに、divじゃ無くても使えるし。
他には。
(hoge/div.piyo)とすると要素が1つでも配列が返ってくるので、例えばhrefを取得するには、
(hoge/div.piyo)[0][:href]
とする。
こういうのがあったとは、知らなかった。
おまけ
昨日から、ニコニコ動画でユーザ生放送が始まったので、放送開始をお知らせするBotを作った。
しかし、既に存在している事を教えてもらった><、
残念・・・。
既にあったもの
http://twitter.com/niconicolive
今回作った物
http://twitter.com/nico_live