Help us understand the problem. What is going on with this article?

たった2つのコマンドで1000枚の画像をダウンロードする

More than 1 year has passed since last update.

機械学習のための学習データセットとして、はたまた観賞用として、たくさんの画像が欲しくなる時があると思います。
そんな時に便利なPythonパッケージをGitHubで発見したので、紹介します。

結論

せっかち方のために、まずは結論から。
ターミナルを開き、以下の2つのコマンドを順に入力することで、猫の画像が1000枚ダウンロードされます。
cat.PNG

pip install google_images_download
googleimagesdownload -ri -cd "chromedriver.exe" -l 1000  -k "猫"

ただし、準備しなければ2つ目のコマンドでエラーが出ます。

準備

  • Google Chromeをインストールする

説明不要だと思います。

  • Pythonをインストールする

これも説明は省略します。筆者は公式のインストーラーでインストールしました。

  • chromedriverをダウンロードする

使用するPythonパッケージの動作に必要なものです。以下リンクからダウンロード可能です。
http://chromedriver.chromium.org/downloads
ダウンロード後は、カレントディレクトリ(ターミナルが開いているディレクトリ)に解凍してください。

  • コマンドを入力

準備は完了です。2つのコマンドを入力してください。

pip install google_images_download
googleimagesdownload -ri -cd "chromedriver.exe" -l 1000  -k "猫"

解説

  • コマンドその1
pip install google_images_download

google_images_downloadというPythonパッケージをあなたのPython環境にインストールしています。

このパッケージでは、Google画像検索を利用して画像をダウンロードすることができます。

Python-2.xと3.xの両方のバージョンに互換性があるようです。

  • コマンドその2
googleimagesdownload -ri -cd "chromedriver.exe" -l 1000  -k "猫"

google_images_downloadでは、オプションで何の画像を、どのようにダウンロードするかを指定することができます。

オプションとは、 -ri のように - を付けてパッケージに渡される引数のことです。

-ri
related_imagesの略で、大量の画像(100枚~)をダウンロードする場合に必要なようです。

-cd "chromedriver.exe"
chromedriverの略で、-riオプションを使用する場合に必要なようです。-cdに続いて、準備でダウンロードしたchromedriver.exeへのパス(場所)を入力する必要があります。このパスは、絶対パスでも相対パスでも良いようで、今回は相対パスで入力しています。

-l 1000
limitの略で、ダウンロードする画像の枚数上限を設定できます。今回は上限を1000枚に設定しています。

-k "猫"
keywordsの略で、Google画像検索に使うキーワードを設定できます。今回はに設定しています。

これ以外にもたくさんのオプションが用意してあるので、別な使い方をしたい方は、README(英語)を見て試してみるといいと思います。

感想

検索関係のAPIや、有名なスクレイピング関係のPythonパッケージでは、ここまで簡単に、大量の画像を入手することは難しいと思うので、google_images_downloadを作成してくださった方には感謝したいです。

筆者は、これで学習データを収集して、Google Cloud Auto MLで分類モデルを作成し、ユーザの入力した画像を分類できるようなWebアプリを作ろうと考えています。

Ikko_Kojima
自分の手でプロダクトを作れるようになりたくて、webエンジニアになりました。社会人2年目からはPO(プロダクトオーナー)に転身。いまでも個人開発を続けています。手段を問わずプロダクトに関わり、多くの人に価値を届けたい!そんな想いを胸に、今日も頑張ります!笑
https://twitter.com/IkkoKojima
septeni-original
技術を磨き続けることでネットサービスを軸とした新たな体験を世界に提供します。
http://www.septeni-original.co.jp/index.html
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away