意識の高いLISPマシン

藤原惟/すかいゆき(@sky_y)の技術用ブログ

[ruby]Hpricot

使い方1
使い方2 pylori*style wiki - HTMLパーサ Hpricot
和訳リファレンス Ruby Scraping - FrontPage



例:HTMLに付いているタグを外す。
例えば、イースト辞書WebサービスAPI(REST)を使って、
wikipediaから「ソース」を検索した結果の一部(元はXHTML文書)。

<li> (<b>sauce</b>) おもに<span class='NetDicItemLink' ItemID='24433'>西洋料理</span>でつかわれる液状の<span class='NetDicItemLink' ItemID='3123'>調味料</span>。→<span class='NetDicItemLink' ItemID='30068'>ソース (調味料)</span></li>

rubyソース

text = "<li> (<b>sauce</b>) おもに<span class='NetDicItemLink' ItemID='24433'>西洋料理</span>でつかわれる液状の<span class='NetDicItemLink' ItemID='3123'>調味料</span>。→<span class='NetDicItemLink' ItemID='30068'>ソース (調味料)</span></li>"
hp = Hpricot(text)
buf = ""
hp.traverse_text{|elem| buf += elem.to_s}
puts buf


出力

(sauce) おもに西洋料理でつかわれる液状の調味料。→ソース (調味料)