【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は、カスタマイズ可能で使いやすいツールです。この記事で説明した基本的なステップを実行することで、必要な画像データを簡単に集めることができるでしょう。
この記事が気に入ったらサポートをしてみませんか?