【GO】クローリング・スクレイピング


node.jsでヘッドレスブラウザ(phantomjs+casperjs)を動かして情報を取得したりしていました(ブログ内検索)。

GOでスクレイピングも同じくらい簡単だったので使い方メモ。

 

単純にWebページから情報をとるだけならgoqueryを使います。

ログインや複雑な遷移が必要なもの、スクリーンショットやブラウザ的機能が必要な場合にはagoutiを使用します。

 

テストケースとして日経TECHから特定のリンク一覧をとってみます。

 

まずは前準備としてダウンロード。

 

ブラウザでF11を押して開発者ツールを起動して欲しい情報のセレクタを抜きます。

後は以下のように簡単にリンク抜出が可能です。

 

次にagoutiを使ってみます。

これはブラウザを動かす方法なのでphantomjsをインストールしておきます。

 

ブラウザをphantomjsに指定してスクショをとりgoqueryにバトンタッチします。

agoutiでもSelectionをとれるのですが基本ブラウジング用で情報取得には向かないように思います。単体で頑張らずにgoqueryを使った方が楽。

あと同時に書かない方がいいです。なまじ似ているので混乱します。


コメントを残す

メールアドレスが公開されることはありません。