東京生まれHOUSE MUSIC育ち

悪そうな奴はだいたい友達なの?

golang goqueryで不要なタグを削除・空タグを削除する方法


スポンサードリンク

golangのgoqueryを使用してスクレイピングをしようとしています。不要なHTMLタグ(特に多用されているdivタグ)や空タグを削除しました。

不要タグの削除方法をgoogleで検索しても出てこなかったので、以下のGoDocを参照して不要なタグと空タグを削除する方法を調べました。自分のメモを兼ねて以下に。

goquery - GoDoc

不要なタグの削除

以下のようにRemove()をつけます。以下の例は空の<a>タグを削除するというものです。

s.Find("a").Remove()

空タグを削除する

Remove()で削除するのは同じなのですが、Find()でとってくる空タグの条件にemptyをつけます。

また、全ての空タグを対象としたい場合は「*(アスタリスク)」で表現します。以下の例は全ての空タグを削除するものです。

s.Find("*:empty").Remove() 

1つ注意点があります。「*(アスタリスク)」でRemove()すると、強制改行タグである<br>も消えてしまいます」。ですので、brタグを生かしたい場合は削除したいタグを1つずつ指定する必要があります。

f:id:padobure:20170710212813p:plain:w150