Google Custom Search APIを利用した検索結果の取得方法【無料枠】

Google Custom Search APIを利用した検索結果の取得方法【無料枠】
NEW 2022/03/02 – Google Custom Search Engine(CSE)の設定がUIが刷新されました。
最新版のUIで作成した新手順を下記のサイトに掲載しています。

  • 【2022年UI変更】GOOGLEの検索結果をAPIで取得する方法 ~簡単4ステップ・まとめ付き~
    https://plus-pm.jp/blog/search-rank-check-use-google-custom-search-api/

(新UI)
Custom Search Engine(CSE)の新UI

GoogleのCustom Search APIを利用したサーチ結果の取得方法を説明します。

 

Google Custom Search APIを利用して、キーワードサーチ結果の追跡ツールを作成したいと思います。

今回は、その前段として、セットアップ方法と結果の取得方法を簡単にまとめました。

 

この記事で確認できること

この記事では、以下の3つの事が確認できます。

  • Google Custom Search APIの利用開始手順
  • APIを使用した検索結果の取得方法 (ブラウザ/Python)
  • API無料枠の使い方

 

Google Custom Search APIとは

Google Custom Search APIとは

Google Custom Search APIは、Googleカスタム検索をプログラムから呼び出すためのAPIです。

※API(Application Programming Interface)とは、プログラムから機能を呼び出す際の手続きをまとめたものです。

 

Google Custom Search APIを使用するとプログラムからGoogleカスタム検索を呼び出して、検索結果を得ることができます。

検索結果を大量に取得し、分析する場合に使用します。

 

検索結果は、JSON(JavaScript Object Notation)または、Atom(XML)形式で取得できます。

 

Google カスタム検索とは

Googleカスタム検索とは、自分のサイトに、Google検索を組み込むためのサービスです。

Googleカスタム検索を使用することで、自分のサイトのページ検索をGoogleの機能を使って行うことができます。

 

API経由でGoogle検索を行う場合、Googleカスタム検索を使用する必要があるため、今回、併せてセットアップします。

 

 

Google Custom Search APIの利用料金(無料枠あり)

Google Custom Search APIの利用料(無料枠あり)

Google Custom Search APIは、有料サービスです。

しかし、1日100回までの無料枠が設定されています。

 

Google Custom Search API利用料

  • API呼び出し、1000回につき5ドル
  • 1日あたりのAPI呼び出し、100回までは無料
  • API呼び出し1回あたりの検索結果は最大10件

少量の検索や、テストとして利用する場合は、無料枠で足ります。

大量のキーワードに対して検索結果が必要な場合は、利用料金を払えば無制限にAPIを呼び出すことができます。

 

Google Custom Search API利用を利用するための前提条件

Google Custom Search APIを使うためには、次の2つが必要となります

  • Googleアカウント
  • Googleアカウントへのクレジットカードの登録

 

Googleアカウント

すでにGmailを利用していれば、Googleアカウントを持っています。

GmailのメールアドレスがユーザーIDです。

 

Gmailアカウントを持っていない、もしくは、普段使っているアカウントと分けたい場合などは下記ページからGoogleアカウントを作成しましょう。

 

Googleアカウントへのクレジットカードの登録

Google APIを利用するにはGoogleアカウントへのクレジットカードの登録が必要になります。

こちらは、無料枠内で利用する場合であっても登録しなければなりません。

Googleドライブの有料枠や、Google広告を利用している方であれば、すでに登録済です。

クレジットカードはGoogleお支払いセンターから登録できます。

 

Google Custom Search API利用手順

APIの有効化とAPIキーの取得

プロジェクトの作成

プロジェクトを追加

プロジェクト名を入力

プロジェクトが登録される

 

プロジェクトの作成とOAuth構成の作成

  • 「同意画面を構成」ボタンをクリックし、OAuth認証画面を開きます
  • OAuth認証画面でUserType「外部」を選択し、「作成」ボタンをクリックします
  • OAuth同意画面でプリケーション名を入力して「保存」します

「同意画面を構成」ボタンをクリックし、OAuth認証画面を開きます

OAuth認証画面でUserType「外部」を選択し、構成を作成します

OAuth画面でプリケーション名を入力して「保存」します

 

APIキーの新規作成

  • 認証情報ページで「認証情報を作成」リンクをクリックします
  • メニューから「APIキー」を選択します
  • APIキーが追加されます

認証情報ページで「認証情報を作成」リンクをクリック・APIを作成

APIキーが追加される

APIキーが追加される

 

Custom Search APIの有効化

  • ダッシュボードで「APIとサービスを有効化」リンクをクリックします
  • APIライブラリページの一番下のCustom Search APIを選択します
  • APIライブラリ・Custom Search API詳細ページで「有効にする」ボタンをクリックし、APIを有効化します

ダッシュボードで「APIとサービスを有効化」リンクをクリックします

APIライブラリページの一番下のCustom Search APIを選択します

Custom Search API詳細ページで「有効にする」ボタンをクリック

 

APIの制限

  • 認証情報ページでAPIキー名を選択します
  • APIキーの制限と名前変更ページが表示されます
  • アクセス元IPアドレスと使用を許可するAPIを指定します

認証情報ページでAPIキー名を選択します

アクセス元IPアドレスと使用を許可するAPIを指定します

※カスタム検索APIは、不正利用された場合、無制限に課金される可能性があります。必ず利用制限の設定を行いましょう。

※現在使用しているIPアドレスがわからない場合は、こちらのサイトで確認できます。

 

カスタム検索エンジン(CSE)の作成と検索エンジンIDの取得

カスタム検索ページを開く

Google カスタム検索ページを開きます

 

新しい検索エンジンの追加

  • 「追加」ボタンをクリックし、新しいカスタム検索エンジンを追加します
  • 検索するサイトは「www.google.co.jp」、言語は「日本語」を指定します。

追加ボタンをクリック

検索するサイトは「www.google.co.jp」、言語は「日本語」を指定

新しいカスタム検索エンジンが追加されます

 

検索エンジンIDの取得と検索範囲の指定

  • 検索エンジンをクリックすると基本設定ページが表示されます
  • 「検索エンジンID」を取得します
  • 「ウェブ全体を検索」をONに設定します

検索エンジンをクリック

検索エンジンIDの取得と検索範囲の指定

 

カスタム検索の検索結果の取得

検索結果をブラウザで取得する

  • ブラウザのURL欄に下記のように入力することで、ブラウザ上で検索結果を確認することができます。
https://www.googleapis.com/customsearch/v1?key=APIキー】&cx=【検索エンジンID】&q=【検索文字列をURLエンコードした文字列】
例)
https://www.googleapis.com/customsearch/v1?key=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&cx=123456789012345678901:abc1d2efghi&q=SEO+%E5%AF%BE%E7%AD%96

(イメージ)カスタム検索を用いた検索結果

(イメージ)カスタム検索を用いた検索結果

 

検索結果をPython API で取得する

Pythonを動かす環境があれば、APIをプログラムから呼び出して、JSON形式で取得することができます。

これを使って、大量に、自動的にGoogleの検索結果を処理することができます。

 

  • Google API クライアントライブラリをインストールします
# pip install –upgrade google-api-python-client

 

  • 検索結果を取得するソースコード(custom_search.py)

※【APIキー】【検索エンジンID】【検索キーワード】ご自分の環境のものを使ってください

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import os
from datetime import datetime
import json
from googleapiclient.discovery import build

GOOGLE_API_KEY = “APIキー】
CUSTOM_SEARCH_ENGINE_ID = “【検索エンジンID】
KEYWORD = “【検索文字列】

if __name__ == ‘__main__’:
# Google Customサーチ結果を取得
s = build(“customsearch”,
“v1”,
developerKey = GOOGLE_API_KEY)
r = s.cse().list(q = KEYWORD,
cx = CUSTOM_SEARCH_ENGINE_ID,
lr = ‘lang_ja’,
num = 10,
start = 1).execute()

# レスポンスをjson形式で保存
s = json.dumps(r, ensure_ascii = False, indent = 4)
now = datetime.today().strftime(“%Y%m%d%H%M%S”)
with open(‘./res_’ + now + ‘.json’, mode=’w’) as f:
f.write(s)

  • プログラムの起動
# python custom_search.py
  • プログラムを起動すると、プログラムと同じディレクトリに検索結果がファイルで保存されます
  • ファイル名:res_YYYYMMDDHHmmSS.json
    ※YYYYMMDDHHmmSS ・・・ 現在時刻
  • ファイル形式:JSON

次回以降、Google Custom Search API を使用した検索順位をトラッキングしてきます。

参考になりましたでしょうか?

 

質問、ご意見等ありましたら、コメントいただければと思います。