Googleの検索結果を取得して分析に使いたいと考える人は大勢います。しかし機械的に収集しようとすると、GoogleからCAPTCHA入力が求められます。そのため自動化しづらく、手作業で収集している人も多いでしょう。 しかし裏道がありそうです。Facebookを経由するとそのトラップに引っかからないようです。その実証として作られたのがgoopです。

goopの使い方

goopで検索を行います。その際、Facebookのクッキーを適用するのがコツです。

from goop import goop

page_1 = goop.search('open source', '<facebook cookie>')
print(page_1)

ちゃんと検索結果が返ってきます。

{0: 
  {
	  'url': 'https://opensource.org/osd-annotated', 
	  'text': 'The Open Source Definition (Annotated) | Open Source Initiative',
	  'summary': "Open source doesn't just mean access to the source code. ... of an aggregate software distribution containing programs from several different sources."
  },
  1: {
	  'url': 'https://opensource.org/osd', 
  :

goopはFacebook Debuggerを経由してGoogleにアクセスします。この時、FacebookとGoogleとで契約が結ばれているのか、CAPTCHAに移動しないようです。その裏道を使って検索結果を自在に取得できるようにしているのがgoopです。

goopはPython製のオープンソース・ソフトウェア(GPL v3)です。

s0md3v/goop: Google Search Scraper