0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Google の「Custom Search API」と「カスタム検索エンジン」で画像をダウンロードする

Posted at

Amazon SageMaker で使用する画像を集めるためにGoogleの「Custom Search API」とカスタム検索エンジンを使ってみる

Custom Search API と カスタム検索エンジン(CSE)について

Custom Search API は Google の検索結果を API で取得できるもの。
1日あたり100件の検索クエリを無料で、追加のリクエストは1000クエリあたり5ドル。(2018/10/25現在)
Custom Search API を使うには、カスタム検索エンジンが必須となる。
カスタム検索エンジンはサイト内検索が出来るやつで無料です。

Custom Search API は1日あたり100件の検索クエリが無料で、1クエリで得られる検索結果は10件なので、
100クエリ * 10件で1,000件の結果が得られる。
画像ダウンロードはダウンロード出来ない画像もあって、1日700〜800枚くらいしかダウンロード出来ないっぽい。

1. Google Developers Console にアクセス

Google にアカウントを作って Google Cloud Console のAPIとサービス にアクセスする。

2. API とサービスの有効化にする

API とサービスの有効化 をクリックする。
APIサービス有効化.png

3. Custom Search API を検索する

新しい API ライブラリ画面になるので「custom search」で検索して「Custom Search API」をクリックする。
APIライブラリ検索.png

4. Custom Search API を有効化する

「Custom Search API」を有効にする。
API有効化.png

5. プロジェクトを作成する

API を有効にするとプロジェクトが1個も無ければプロジェクト作成を促される(多分)ので作成ボタンをクリックする。
APIサービス有効化後.png

適当なプロジェクト名を入力して、プロジェクトを作成する。
新しいプロジェクト作成.png

6. APIキーを取得する

メニューの認証情報から認証情報を作成のプルダウンでAPIキーをクリックする。
APIキー発行.png

APIキーを作成しましたのダイアログが出るので、キーを制限をクリックする。
APIキー発行完了.png

キーに名前を付けて保存する。APIキーをプログラムで使用するのでメモっておく。
APIキーを制限.png

7. カスタム検索エンジンを作成する

Google カスタム検索エンジンのサイトにアクセスするして Add をクリックする。
CSE追加.png

検索するサイトに「https://www.google.co.jp/ 」 を入力、検索エンジンの名前を適当に入力して作成をクリックする。
CSE設定.png

8. カスタム検索エンジン設定を更新する

メニューの検索エンジンの編集の設定から、画像検索をオン、検索するサイトの google を削除、ウェブ全体を検索をオンにする。
検索エンジンIDをプログラムで使用するのでメモっておく。
CSE設定更新.png

9. Python の実行環境を作成する

AmazonLinux2 上に Python3 をインストールする。

$ sudo amazon-linux-extras install python3
$ sudo pip3 install --upgrade pip
$ sudo yum install -y  gcc gcc-c++ python3-devel

必要となる python モジュールを vendor ディレクトリにインストール

$ pip3 install google-api-python-client -t ./vendor
$ pip3 install httplib2 -t ./vendor

10. Python スクリプトを用意する

Googleの画像検索APIを使って画像を大量に収集する から拝借しました。
google_api.py の httplib2 の import を vendor ディレクトリからに修正。
sha3 でエラーが出てコメントアウトしたらいけました。
「API_KEY」にCustom Search API のAPIキーを入力、「CUSTOM_SEARCH_ENGINE」にカスタム検索エンジンの検索エンジンIDを入力する。

import sys
sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)), 'vendor'))
import httplib2
#import sha3
・
・
・
if __name__ == '__main__':
    # -------------- Parameter and Path Settings -------------- #
    API_KEY = 'xxxxxxxxxxxxx'
    CUSTOM_SEARCH_ENGINE = 'xxxxxxxxxxxxxxx'

11. Python を実行する

スクリプトを実行すると「save_dir_path」に指定したディレクトリの「imgs/」に画像が保存される。

$ python3 google_api.py
0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?