見出し画像

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

プログラミングをしていると業務や機械学習やディープラーニングで画像データを集めたい時があると思います。

こういう場合は、icrawlerというPythonライブラリを使えば、集めたい画像と枚数を指定するだけで、ネットから簡単に画像データを収集することができます。

iclawlerの使い方


0.ライブラリのインストール


まずはライブラリをインストールしましょう。

$ pip install icrawler

次に、以下のコードで、必要なモジュールをインポートしましょう。

1. icrawlerのインポート

icrawlerを使用するためには、適切なクラスをインポートする必要があります。

from icrawler.builtin import BingImageCrawler # BINGを指定する場合

GoogleImageCrawlerは、Google画像検索から画像をダウンロードするためのクローラーです。

2. クローラーの設定

icrawlerを使用して画像を収集するには、いくつかの設定を行います。以下は基本的な設定例です。

crawler = BingImageCrawler( storage={'root_dir': './image'})

ここで'your_image_dir'はダウンロードした画像を保存するディレクトリへのパスです。

3. 画像の検索とダウンロード

検索キーワードを指定し、画像のダウンロードを開始します。

crawler.crawl(keyword='puppies', max_num=100)

上記のコードは、「puppies」というキーワードで検索された最初の100枚の画像をダウンロードします。

4. 追加設定

検索条件を細かく設定したい場合は、filtersオプションを使います。たとえば、特定のサイズや色の画像を指定することができます。

crawler.crawl(keyword='puppies', filters={'size': 'large'}, max_num=100)

5. 例外とエラーハンドリング

ネットワークエラーやその他の予期せぬ問題が発生する可能性があるため、例外処理を行うことをお勧めします。

try: 
    crawler.crawl(keyword='puppies', max_num=100) 
except Exception as e: 
    print(e)


まとめ

上記のコードをまとめると以下のようになります

from icrawler.builtin import BingImageCrawler
word = "python プログラミング"
crawler = BingImageCrawler(storage = {'root_dir' : f'./{word}'})

try: 
    crawler.crawl(keyword = word, max_num = 10)
except Exception as e: 
    print(e)


参考記事:https://tkstock.site/2022/03/31/python-icrawler-image-web-scraping-download/

終わりに

icrawlerは、カスタマイズ可能で使いやすいツールです。この記事で説明した基本的なステップを実行することで、必要な画像データを簡単に集めることができるでしょう。

公式ドキュメント:https://icrawler.readthedocs.io/en/latest/

この記事が気に入ったらサポートをしてみませんか?