最新版のUIで作成した新手順を下記のサイトに掲載しています。
- 【2022年UI変更】GOOGLEの検索結果をAPIで取得する方法 ~簡単4ステップ・まとめ付き~
https://plus-pm.jp/blog/search-rank-check-use-google-custom-search-api/
(新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カスタム検索をプログラムから呼び出すためのAPIです。
※API(Application Programming Interface)とは、プログラムから機能を呼び出す際の手続きをまとめたものです。
Google Custom Search APIを使用するとプログラムからGoogleカスタム検索を呼び出して、検索結果を得ることができます。
検索結果を大量に取得し、分析する場合に使用します。
検索結果は、JSON(JavaScript Object Notation)または、Atom(XML)形式で取得できます。
- Wikipedia | アプリケーションプログラミングインタフェース
- Wikipedia | JavaScript Object Notation
- Wikipedia | Atom (ウェブコンテンツ配信)
Google カスタム検索とは
Googleカスタム検索とは、自分のサイトに、Google検索を組み込むためのサービスです。
Googleカスタム検索を使用することで、自分のサイトのページ検索をGoogleの機能を使って行うことができます。
API経由でGoogle検索を行う場合、Googleカスタム検索を使用する必要があるため、今回、併せてセットアップします。
- Google | カスタム検索ヘルプ
https://support.google.com/customsearch#topic=4513742 - Google | カスタム検索 トップ
https://cse.google.com/cse/all
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 JSON API | Pricing
https://developers.google.com/custom-search/v1/overview
Google Custom Search API利用を利用するための前提条件
Google Custom Search APIを使うためには、次の2つが必要となります
- Googleアカウント
- Googleアカウントへのクレジットカードの登録
Googleアカウント
すでにGmailを利用していれば、Googleアカウントを持っています。
GmailのメールアドレスがユーザーIDです。
Gmailアカウントを持っていない、もしくは、普段使っているアカウントと分けたい場合などは下記ページからGoogleアカウントを作成しましょう。
- Google アカウントの作成
https://accounts.google.com/SignUp?hl=ja
Googleアカウントへのクレジットカードの登録
Google APIを利用するにはGoogleアカウントへのクレジットカードの登録が必要になります。
こちらは、無料枠内で利用する場合であっても登録しなければなりません。
Googleドライブの有料枠や、Google広告を利用している方であれば、すでに登録済です。
クレジットカードはGoogleお支払いセンターから登録できます。
- Googleお支払いセンター
https://payments.google.com/payments/home#paymentMethods
Google Custom Search API利用手順
APIの有効化とAPIキーの取得
プロジェクトの作成
- Google Cloud Platformを開きます
https://console.cloud.google.com/?pli=1 - プロジェクト名を入力してプロジェクトを作成します
プロジェクトの作成とOAuth構成の作成
- 「同意画面を構成」ボタンをクリックし、OAuth認証画面を開きます
- OAuth認証画面でUserType「外部」を選択し、「作成」ボタンをクリックします
- OAuth同意画面でプリケーション名を入力して「保存」します
APIキーの新規作成
- 認証情報ページで「認証情報を作成」リンクをクリックします
- メニューから「APIキー」を選択します
- APIキーが追加されます
Custom Search APIの有効化
- ダッシュボードで「APIとサービスを有効化」リンクをクリックします
- APIライブラリページの一番下のCustom Search APIを選択します
- APIライブラリ・Custom Search API詳細ページで「有効にする」ボタンをクリックし、APIを有効化します
APIの制限
- 認証情報ページでAPIキー名を選択します
- APIキーの制限と名前変更ページが表示されます
- アクセス元IPアドレスと使用を許可するAPIを指定します
※カスタム検索APIは、不正利用された場合、無制限に課金される可能性があります。必ず利用制限の設定を行いましょう。
※現在使用しているIPアドレスがわからない場合は、こちらのサイトで確認できます。
- CMAN | IPアドレス確認
https://www.cman.jp/network/support/go_access.cgi
カスタム検索エンジン(CSE)の作成と検索エンジンIDの取得
カスタム検索ページを開く
- Google カスタム検索ページを開きます
https://cse.google.com/cse/all
新しい検索エンジンの追加
- 「追加」ボタンをクリックし、新しいカスタム検索エンジンを追加します
- 検索するサイトは「www.google.co.jp」、言語は「日本語」を指定します。
検索エンジンIDの取得と検索範囲の指定
- 検索エンジンをクリックすると基本設定ページが表示されます
- 「検索エンジンID」を取得します
- 「ウェブ全体を検索」をONに設定します
カスタム検索の検索結果の取得
検索結果をブラウザで取得する
- ブラウザのURL欄に下記のように入力することで、ブラウザ上で検索結果を確認することができます。
(イメージ)カスタム検索を用いた検索結果
検索結果をPython API で取得する
Pythonを動かす環境があれば、APIをプログラムから呼び出して、JSON形式で取得することができます。
これを使って、大量に、自動的にGoogleの検索結果を処理することができます。
- Google API クライアントライブラリをインストールします
- 検索結果を取得するソースコード(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)
- プログラムの起動
- プログラムを起動すると、プログラムと同じディレクトリに検索結果がファイルで保存されます
- ファイル名:res_YYYYMMDDHHmmSS.json
※YYYYMMDDHHmmSS ・・・ 現在時刻 - ファイル形式:JSON
次回以降、Google Custom Search API を使用した検索順位をトラッキングしてきます。
参考になりましたでしょうか?
質問、ご意見等ありましたら、コメントいただければと思います。