2005年8月 4日

Googleでハック(2)

 Googleを使って様々なサイトを拾って情報収集するというものを作っていた。作成当初はゆるい検索キーワードで大量のURLを抽出し、そのURLにアクセスしに行き内容をみて取捨選択する風だったので、Googleへのクエリ回数は少なかった。しかし、やってみるとゴミページだらけなので、想定キーワードを大量に用意してGoogleへクエリする方向に向かっていった。

 機械的に Google にアクセスするなら、Google API を使うのが一般的である。しかしこれは1000回/日という制限がある。もちろんIDを複数取得すればID個数倍だけアクセスできるのだが、同じIPから不自然にバシバシアクセスしたらID失効になってしまうであろう。そんなわけで普通にアクセスしてHTMLパーサで解析するという手段でやっていた。

 そんなこんなで、Googleに機械的にアクセスしまくり、1ヶ月以上収集しまくっていたのだが、昨日突然使えなくなった。Googleにどんなクエリを投げても昨日書いた「ごめんなさいページ」が表示されてしまう。

 ただ、昨日のとは違う点がある。人間が操作を継続できるようにするため、パスワードの入力を求めるテキストボックスが追加されているのだ。パスワードは画像で書かれていて、OCR除けのために変形されてプリントされている。

 その追加された英文("To continue searching, please type the characters you see below")でググって見た。対処法はわからなかったが、一番古いのは3月19日に書かれたhttp://www.webrankinfo.com/forums/viewtopic_24777.htmである。

 少なくとも3月19日には対策されていることになる。だがおそらく、12月からそうなっていたのだと思われる。しかし、しばらくの間、先のソフトが使えていたのはなぜなんだろう。閾値ギリギリのアクセス数だったのが、たまたま昨日だけ多くなってしまったのだろうか。それとも、今年のBlack Hatが規制強化のトリガになり、閾値が下げられたのだろうか。

 いずれにせよ、Google API を正しく使って 1000クエリ/日に抑えておくべきなのかもしれない。ただ、commercial service は作っちゃ駄目とか personal use のみOKとかの縛りが気になる。いやそれよりも検索時の maxResults パラメータが 10 なので、検索結果が 1000件なら100回のトランザクションが発生するわけで、件数制限が非常に厳しいかも。(「かも」としたのは「1クエリ」の数え方がわからないから。1つの検索が1クエリと数えるならまあ許せる制限かな?)

 今の仕様のまま、個人向けのIP固定じゃないプロバイダを契約して、一定時間ごとに切断・接続をしてIPを変えるという手も考えられる。BB.excite なら月500円だ。Bフレのセッションがあまっているので回線を引く必要もない。もしくは適当なオープンプロキシを次々に変えながらアクセスするという手もある。

 なんだかどれもグレーな感じだが、もともとのコンセプトからしてグレーなんでもうどうにでもなれ。

Posted by rukihena at 22:32:32
トラックバックURL

このエントリーのトラックバックURL:
http://weblog.rukihena.com/mt/mt-tb.cgi/152

コメント