こんにちは、ミナピピン(@python_mllover)です。
今回はCustom Search APIを用いてGoogle検索をPythonを使用してAPI経由で行う方法について紹介したいと思います。
Contents
事前準備
Custom Search APIを使ってGoogle検索結果をスクレイピングする方法は、以下のステップになります。
1. Google Cloud PlatformでCustom Search APIを有効化する。
2. APIキーを取得する。
3. PythonのプログラムにCustom Search APIを組み込む。
4. スクレイピングしたいキーワードを指定する。
5. プログラムを実行し、検索結果をスクレイピングする。
それでは、各ステップについて順番に解説していきます。
1. Google Cloud PlatformでCustom Search APIを有効化する。
Google Cloud Platformにアクセスし、左側のメニューから「APIとサービス」→「ライブラリ」を開きます。Google Custom Search APIを検索し、有効にします。
2. APIキーを取得する。
APIキーは、Custom Search APIの利用に必要なキーです。APIキーを取得するためには、Google Cloud Consoleにアクセスし、「APIとサービス」→「認証情報」を開きます。新しい認証情報を作成し、APIキーを取得します
参考記事:【GCP】GoogleCloudPlatformでプロジェクトを作成してAPI鍵の作成&有効化する
3. Python用のモジュールをインストール
Custom Search APIを使用するためには、Google API Clientライブラリをインストールする必要があります。以下のコマンドを使用して、Google API Clientライブラリをインストールします。
$ pip install google-api-python-client
4.カスタム検索エンジン(CSE)の作成と検索エンジンIDの取得
CUSTOM SEARCH APIを使用するためには他のAPIと違って、カスタム検索エンジン(CSE)の作成と検索エンジンIDの確認という手順が必要になります。
⇒https://plus-pm.net/search-tracking-google-search-api/#toc21
Custom Search APIを使ってGoogle検索結果をスクレイピングするサンプルコード
import os from datetime import datetime import json from googleapiclient.discovery import build import pprint GOOGLE_API_KEY = '' CUSTOM_SEARCH_ENGINE_ID = '' KEYWORD = 'プログラミング' # 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() pprint.pprint(r['items'])
APIドキュメント:https://developers.google.com/custom-search/v1/introduction
<おまけ>
# 検索リンクのみを抽出する for d in r['items']: print(d['link'])
これでGoogleの検索結果が辞書型形式で取得できています。
終わり
以上が、Custom Search APIを使ってGoogle検索結果をスクレイピングする方法です。この方法を利用することで、Webサイトからのデータスクレイピングが容易になります。ただし、Googleの利用規約に従って利用することが必要です。例えば、Googleは自動的なスクレイピングを禁止していますので、注意して利用しましょう。
参考:https://qiita.com/zak_y/items/42ca0f1ea14f7046108c
コメント