概要
google-images-download を使用して、指定したキーワードの Google 画像検索の結果から画像をダウンロードする方法について解説します。画像認識用のデータセットを作成するために画像を集めるのに活用できます。
動作環境
Chrome ブラウザがインストールされている必要があります。今回は以下の環境で動作確認しました。
- Windows 10
- Chrome 91
導入手順
1. google-images-download のインストール
google-images-download は Python で書かれた Google 画像検索から画像をダウンロードするツールです。現在、GitHub 上のコードが動作しないため、有志の方が作成したパッチ版を以下の手順でインストールします。
git clone https://github.com/Joeclinton1/google-images-download.git gid-joeclinton
pip install -e gid-joeclinton
2. Chromium Driver のインストール
まず、使用しているブラウザのバージョンを確認してください。ツールバーのメニューから「ヘルプ」を選択することで Google Chrome のバージョンを確認できます。
今回の例だと、バージョン91になります。バージョンを確認できたら、対応するバージョン及び OS の ChromeDriver を Downloads – ChromeDriver からダウンロードします。
- chromedriver_linux64.zip: Linux
- chromedriver_mac64.zip: Mac
- chromedriver_win32.zip: Windows
ダウンロードして解凍すると、chromedriver.exe
が入っているので、これを適当な場所 (例: F:\chromedriver
) に配置します。
使い方
コマンドプロンプトを起動し、--keywords
引数で検索ワード、--chromedriver
引数で chromedriver.exe
のパスを指定して googleimagesdownload
を実行します。-L
引数はダウンロードする画像枚数で最大100まで指定できます。100より大きい値を指定するとエラーになります。
googleimagesdownload --keywords <検索ワード> -l 100 --chromedriver <chromedriver のパス>
例:
googleimagesdownload --keywords "金魚" -l 100 --chromedriver F:\chromedriver\91\chromedriver.exe
上手く実行できた場合、以下のようなログが出力され、downloads/<検索ワード>
ディレクトリ以下にダウンロードした画像が保存されます。
Item no.: 1 --> Item name = \u6731\u6587\u91d1
Evaluating...
Starting Download...
Completed Image ====> 1.w1000h1000.jpg
Completed Image ====> 2.b3ae7f0c7743bf274432cd60903d6188.jpg
Completed Image ====> 3.w500h500.jpg
Completed Image ====> 4.0shubunkin.jpg
Completed Image ====> 5.shubunkin-compressor.jpg
Completed Image ====> 6.aa353562c5f2c6b7f3166f3a06c845e0.jpg
Completed Image ====> 7.image.jpg
Completed Image ====> 8.gf-speckled_img_3.jpg
Completed Image ====> 9.51gxz-3vtcl._ac_sx355_.jpg
Completed Image ====> 10.goldfish-syubunkin.jpg
...
Unfortunately all 100 could not be downloaded because some images were not downloadable. 96 is all we got for this search filter!
Errors: 4
Everything downloaded!
Total errors: 4
Total time taken: 20.024622678756714 Seconds
コメント