Pythonには統計や機械学習など非常に便利なライブラリが多く揃っているが、今回紹介するライブラリは、指定したキーワードで画像検索した結果から指定枚数の画像をまとめてダウンロードしてくれるというライブラリだ。

それでは早速デモを交えながら、ライブラリの基本的な使い方を紹介しよう。

icrawlerのインストール

まず、pipコマンドでライブラリ「icrawler」のインストールをおこなう。

pip install icrawler

サンプルコード

デモとして、Bingの画像検索から犬の画像を10枚ダウンロードする例を紹介する。

icrawlerのインストールができたら、実行ファイル(main.py)を用意し下記のサンプルコードを記述する。

from icrawler.builtin import BingImageCrawler
crawler = BingImageCrawler(storage={"root_dir": './images'})
crawler.crawl(keyword='犬', max_num=10)

1行目はライブラリの読み込み。

2行目でicrawlerをインスタンス化し、ここで取得した画像の保存先ディレクトリを指定している。
※この場合、imagesディレクトリに画像がダウンロードされる。

3行目で画像のダウンロード処理を実行。
この時、keywordとmax_num(取得するファイル数)を指定する。

ファイルを作成し、プログラムを実行すると、、、

python main.py

main.pyと同階層にimagesディレクトリが作成され、その中に10枚の画像がダウンロードされる。

画像検索をBingからGoogleに変更する

先ほどのサンプルコードはBing検索エンジンで画像検索をおこなった例だが、Googleから画像検索をおこなうこともできる。

from icrawler.builtin import GoogleImageCrawler
crawler = GoogleImageCrawler(storage={"root_dir": './images'})
crawler.crawl(keyword='犬', max_num=10)

BingImageCrawlerをGoogleImageCrawlerに変えるだけでOK。