🙆‍♀️

【Python】icrawlerを使って画像データを簡単に収集する

2022/07/20に公開

機械学習やディープラーニングで画像データを集めたい時があると思います。
icrawlerというPythonライブラリーを使えば、集めたい画像と枚数を指定するだけで、ネットから簡単に画像データを収集することができます。

iclawlerとは

Webクローラーのミニフレームワークです。モジュール化により、使いやすく拡張性も高い設計になっています。BingやGoogleなどの検索エンジンに対応しています。

ライブラリーのインポート

まずは!pip install icrawlerでライブラリをインストールしましょう。
次に、以下のコードで、必要なモジュールをインポートしましょう。今回は、Bing用のモジュールを使用します。

from icrawler.builtin import BingImageCrawler

シマウマの画像を100枚とってみる

まずは1種類(シマウマ)の画像をとってみましょう。

crawler = BingImageCrawler(storage = {'root_dir' : './image'})
crawler.crawl(keyword = 'シマウマ', max_num = 100)

ちゃんととれていますね。

パンダ,キリン、ゴリラの画像を50枚ずつとってみる

複数の種類(パンダ・キリン・ゴリラ)の画像をとってみます

keywords = ['パンダ', 'キリン', 'ゴリラ']

for keyword in keywords:
    crawler = BingImageCrawler(storage = {'root_dir' : './image/' + keyword})
    crawler.crawl(keyword = keyword, max_num = 50)

こちらもちゃんととれています。
alt
alt
alt

さいごに

今回はBingを検索エンジンとしたライブラリになりますが、Googleを指定することも可能です。
こちらの公式ドキュメントも参照してみてください。

https://icrawler.readthedocs.io/en/latest/

Discussion