goqueryでスクレイピングする

access_time

Go言語でスクレイピングしてみましょう。
goquery」という、jqueryのようにDOMが扱えるパッケージがあります。
DOMの扱いが直感的になるのでこちらのパッケージを入れましょう。

パッケージのインストールは以下コマンドで

Goとgoqueryを使ったスクレイピングでページタイトルとそのページのリンクを探して標準出力しています。

関数「toAbsUrl」では、相対URLから絶対URLに変換しています。
この処理がスクレイピングでは結構厄介なので関数(toAbsUrlのような)を作ってあげるだけで絶対パスを返すようになります。

サニタイズしたい場合は、パッケージ「bluemonday」というパッケージがあるので、HTMLをスクレイピングしやすいようにクレンジングするのが良いと思います。

ソースは以下

 

実行結果は以下のようになります。
ページ内リンクを絶対URLで標準出力しています。