golangのgoqueryを使用してスクレイピングをしようとしています。不要なHTMLタグ(特に多用されているdivタグ)や空タグを削除しました。
不要タグの削除方法をgoogleで検索しても出てこなかったので、以下のGoDocを参照して不要なタグと空タグを削除する方法を調べました。自分のメモを兼ねて以下に。
不要なタグの削除
以下のようにRemove()
をつけます。以下の例は空の<a>
タグを削除するというものです。
s.Find("a").Remove()
空タグを削除する
Remove()
で削除するのは同じなのですが、Find()
でとってくる空タグの条件にempty
をつけます。
また、全ての空タグを対象としたい場合は「*(アスタリスク)」で表現します。以下の例は全ての空タグを削除するものです。
s.Find("*:empty").Remove()
1つ注意点があります。「*(アスタリスク)」でRemove()
すると、強制改行タグである<br>
も消えてしまいます」。ですので、brタグを生かしたい場合は削除したいタグを1つずつ指定する必要があります。