Ruby
Nokogiri

【Ruby】Nokogiriでbrタグを改行(¥n)に変更したい時【Nokogiri】

More than 3 years have passed since last update.

Nokogiriでいろいろなサイトをスクレイピングしてると、たまに(主にHTMLが)すごいことになってるサイトに出会いますよね。

Nokogiriでスクレイピングしたのに、brタグだらけなページがあります。

こういうサイトって古めの、テーブルレイアウト使いまくりのサイトに多い気がしますがどうなんでしょう。

今回はそんなページから、なんとかしてテキストを抜き出す方法をメモしておきます。

普通に

page.text

したら、改行されるべきところが改行されてないのが出てきたりしますね。

そういう時は、

page.search('br').each do |br|

br.replace("¥n")
end

ってやればOKです。

brタグが自動的に¥nに置き換えられて、

page.text

するとキレイに改行されたテキストが出てくるようになります。