Google Custom Search API(カスタムサーチAPI)を使ってプログラム的に検索結果を取得する方法

今回、GoogleのCustom Search APIを使って、プログラムから検索結果を取得してみました。

Bingについては以下にまとました。

Bing Search APIを使ってプログラム的に検索結果を取得する方法(AtomかJSON)
以前、Googleの検索結果を取得する方法を記事にしました。 今回、Bingの検索結果をプログ...

スポンサーリンク

Google Custom Search APIキーの取得

まず、Google Developers Console かAPIキーを取得します。

https://console.developers.google.com/apis/library

からCustom Search APIを選択します。

APIを使うには、Googleにログインする必要があります。

あと、クレジットカードがひもづいた請求先のアカウントも必要です。

image

Custom Search APIは有料のようです。

サインアップして60日間は300ドル分、無料で使えるようです。

image

Custom Search API

概要

使用量

割り当て

Google Custom Search enables you to search over a slice of the web, such as your own website, or a collection of websites. You can harness the power of Google to create a search engine tailored to your needs and interests, and you can present the results in your website.

  • 詳細
  • この API を API Explorer で試す

この API で認証情報を使用

API キーの使用

この API を使用するには、API キーが必要です。API キーはプロジェクトを認識して割り当てとアクセス権をチェックします。API キーを取得するには [認証情報] ページにアクセスしてください。それぞれのプラットフォーム(ウェブ、Android、iOS など)に対してキーが必要です。 詳細

プロジェクトを作成します。

APIキーは「サーバー」タイプで作成します。

以下のようにキーが作成されます。

image

検索エンジンの追加、検索エンジンIDの取得

https://cse.google.com/cse/ から、カスタム検索エンジンを作成します。

Googleにログインする必要があります。

image

新しい「検索エンジン」を追加します。

image

検索するサイトとして「追加したサイトを重視して、ウェブ全体を検索する」にしておいて、且つ、サイトを追加しないでおきます。

こうすることで、WEB全体を検索することが可能になります。

image

「検索エンジンID」を押すと検索エンジンのIDが分かります。

プログラム的にGoogle検索を行う

以上で取得した、Google Custom Search APIキーと検索エンジンIDからプログラム的にGoogle検索を行ってみます。

Javaではこんな感じでurlにAPIキー、エンジンID、検索ワードを入れます。

例えば、こんな感じでブラウザから入力すると、planeを検索した結果が3個取得することが出来ます。

https://www.googleapis.com/customsearch/v1?key=aaaaa&cx=bbbbb&q=plane&num=3&start=1

  • startは何番目か
  • numは1回に何個まで取得するか

を意味しています。

ただ、どうやら101番目以降の検索結果の取得や、一回のクエリーで11個以上の検索結果の取得は無理のようです。

よって、start=101以降や、num=11以上は無理のようです。

Google Custom Search APIの値段

Google Custom Search APIの料金について調べてみました。

https://developers.google.com/custom-search/json-api/v1/overview#related_documents

ここには無料版と有料版があると書いてあります。

API key

JSON/Atom Custom Search API requires the use of an API key.

  • Custom Search Engine (free edition) users can obtain the key from the Google Developers Console.
  • Google Site Search (paid edition) users can find their API key in the Control Panel in Business >XML & JSON tab.

Pricing

JSON/Atom Custom Search API pricing and quotas depend on the engine’s edition:

  • Custom Search Engine (free)
    • For CSE users, the API provides 100 search queries per day for free. If you need more, you may sign up for billing in the Developers Console. Additional requests cost $5 per 1000 queries, up to 10k queries per day.
  • Google Site Search (paid).
    • For detailed information on GSS usage limits and quotas, please check GSS pricing options.

無料版と書いてあっても1日100クエリは無料で、それ以上は1000クエリにつき5ドルかかるんだそうです。

1検索ワードで100位まで取得しようとすると、それだけで10クエリになるので、無料版100クエリと考えると10検索ワードまでしか無理ですね。

厳しい。

ちなみに有料版の料金は次の通りです。

00 ドル(年間) 250 ドル(年間) 750 ドル(年間) 2,000 ドル(年間) 料金はお問い合わせください
20,000検索クエリの上限(年間)(ブログ、個人のサイト) 50,000検索クエリの上限(年間)(小規模ビジネス) 150,000検索クエリの上限(年間)(トラフィックの多い小規模ビジネス) 500,000検索クエリの上限(年間)(中規模のビジネスやサイト) 1,000,000 超検索クエリの上限(年間)(大規模ビジネス)

更に厳しいな。

Google ウェブ検索とカスタム検索で結果が異なる

どうやら、カスタム検索で以下のように設定しても、WEB検索の結果とは異なる結果が得られるようです。

「検索するサイトとして「追加したサイトを重視して、ウェブ全体を検索する」にしておいて、且つ、サイトを追加しないでおきます。」

なんでかなと思って調べてみると、以下のサイトに書いてありました。

https://support.google.com/customsearch/answer/4513751?hl=ja&ref_topic=4513742

からの引用です。

Google ウェブ検索とカスタム検索の違い

Google.co.jp での通常の検索と同様に、ウェブ全体の検索など、カスタム検索エンジンにもオプションを設定できます。ただし、違う点がいくつかあります。カスタム検索エンジンの場合:

  • ウェブ上の他の検索結果よりも自分のウェブサイトの検索結果を強調する
  • 検索結果のパーソナライズなど、一部の Google ウェブ検索の機能が含まれません
  • 10 件を超えるサイトが含まれている場合、Google のインデックスからのサブセットの検索結果が表示される場合があります

ちょっと使えないな。。。

まとめ

Google Custom Search APIを使うとプログラム的に検索結果を取得できることがわかりました。

ただ、無料で出来ることは1日100クエリまでです。

それ以上は有料になります。

よって出来ることはかなり限られてきそうです。

最後まで読んでいただきありがとうござました。
この記事が気に入っていただけたらシェアしてくれると嬉しいです。

スポンサーリンク
スポンサーリンク
Translate »