サラリーマンの投資と仕事研究所

サラリーマンのビジネス手法研究とその実践記録

VBAでGoogle検索を自動化したら人間かどうか確認されたでござる

Google検索を複数回やるのが激しく面倒くさいので、自動化を試みてみました。
Google検索を自動化するといっても2種類あって、

①Google検索の結果を一気に複数取得する。
②Google検索自体を複数回実行する。

①の1回のGoogle検索で、検索結果を一気に取得するケース、例えば検索結果の1位から100位までを取得したりするケースはかなり先人がいて、
ソフトも出ていたりするので、ありがたく参考にさせていただいたりするのですが、②の検索自体を複数回行うものが見つけられなかったので自作することに。

エクセルシートにURLを準備し、URLをインプット。
表示を待って検索結果第一位をスクレイピングするというプログラムを作ってみました。

Google検索窓に入力し検索ボタンを押すということでも良いのですが、URLに入れ込む形にしました。

Tipsとしては、入力URLで工夫すること、です。

"http://www.google.co.jp/search?q="で"="の後に文言をつなげれば、検索結果が一度に出力できます。

ちゃんと動作したように見えたものの、100件位処理した後でアラームが来ました。

「reCAPCHA私はロボットではありません」「このページは、お使いのコンピュータ ネットワークから利用規約に違反すると考えられるリクエストが自動検出されたときに表示されます。」
「ロボットが使用するような高度な検索語を使用したり、リクエストを非常にすばやく送信した場合も、セキュリティ画像の文字を入力するように求められることがあります。」

という事で、リクエストが多かったという事になりそうです。時間空けたら大丈夫なのかなぁ。

解決するにはGoogleのAPIが必要で、無料で使用できるのは一部分ということらしいので時間空けて処理してみてそれでも無理ならGoogle APIを使ってみようかなと思っています。
どちらにせよ解決に時間がかかりそうなのでしばらく棚上げにして様子見したいと思います。待ってろGoogle API!