
今回は、Pythonライブラリicrawlerを使って、画像データを手軽に収集する方法を紹介します。
この記事に載っているサンプルコードをコピーして、Pythonで実行すれば、簡単に動きを確認できますので、是非試してみて下さい。
この記事では、初心者にもわかりやすいように、各処理の内容を、サンプルコード内にコメントとして載せています。
【国が唯一認定】不用なPC/小型家電宅配便回収のリネットジャパン。
画像データをネットから自動収集するアプリ
今回作成するアプリは、指定したキーワードに該当する画像データを自動収集するアプリとなります。
準備
本アプリを動かすためには、icrawlerのインストールが必要です。
pip install icrawler
サンプルコード(Bing)
# https://icrawler.readthedocs.io/en/latest/builtin.html
# Bing用クローラーモジュールをインポート
from icrawler.builtin import BingImageCrawler
# Bing用クローラーの生成
bing_crawler = BingImageCrawler(
downloader_threads=4, # ダウンローダーのスレッド数
storage={'root_dir': 'images'}) # ダウンロード先のディレクトリ名(images)を指定
# クロールの実行
bing_crawler.crawl(
keyword="姫路城", # 検索キーワードを指定(日本語もOK)
max_num=10) # ダウンロードする画像の最大枚数
実行すると、
下図のように、指定したフォルダが作成され、収集した画像が入っています。

上記サンプルソフトは、検索エンジンをBingとした場合の検索結果を利用するものです。
Bingの他に、Googleの検索エンジンを利用することもできます。
サンプルコード(Google)
# https://icrawler.readthedocs.io/en/latest/builtin.html
# Bing用クローラーモジュールをインポート
from icrawler.builtin import GoogleImageCrawler
# Bing用クローラーの生成
bing_crawler = GoogleImageCrawler(
downloader_threads=4, # ダウンローダーのスレッド数
storage={'root_dir': 'images'}) # ダウンロード先のディレクトリ名(images)を指定
# クロールの実行
bing_crawler.crawl(
keyword="姫路城", # 検索キーワードを指定(日本語もOK)
max_num=10) # ダウンロードする画像の最大枚数
実行すると、
下図のように、指定したフォルダが作成され、収集した画像が入っています。

先ほどのBing版の結果とは違う画像データを収集できました。
まとめ
今回は、Pythonライブラリである、 icrawlerを使い、希望する画像データを手軽に収集できるアプリの作り方を紹介しました。
Pythonでプログラムを作るのなら、ラズパイが安くて、環境構築も楽で、おすすめです。
Raspberry Pi は、Raspberry Pi Foundationによって開発された低価格で小型のシングルボードコンピュータです。最初は教育目的で2012年にリリースされましたが、その手頃な価格と高性能により、教育用にとどまらず、さまざまなプロジェクトやプロトタイピングのプラットフォームとして広く利用されています。Raspberry Piは、LinuxベースのOSを主に使用し、簡単にカスタマイズ可能であるため、プログラミングやエレクトロニクスの教育、IoTデバイス、ホームオートメーション、メディアセンターなどに活用されています。
コメント