インターネットから自動で画像を収集するためのツールを探しているなら、Pythonライブラリ「icrawler」を使うと簡単です。
このライブラリを使うと、GoogleやBing、Flickr、Baiduといった検索エンジンから自動で画像を集めることができます。
この記事では、icrawlerを使って、複数の検索エンジン(Google、Bing、Flickr、Baidu)から画像を収集する方法をご紹介します。

インターネットで検索した画像を一気にダウンロードするにはicrawlerを使えば良いんですね!
ぜひ使い方を教えてください!

使い方はとっても簡単です!
ただし、インターネット上の画像をダウンロードすることになるので、著作権には充分に注意して二次利用の際には細心の注意を払ってください!
icrawlerとは?
「icrawler」は、複数の検索エンジンやウェブサイトから画像を収集できるPythonライブラリです。
指定したキーワードに基づいて自動で画像を収集し、保存できます。以下の検索エンジンをサポートしています:
- Bing
- Flickr
- Baidu
また、ウェブサイトや特定の画像URLを指定して収集することも可能です。
環境の準備
まずは、Python環境にicrawlerをインストールしましょう。
pip install icrawler
これで準備が整いました!
Googleから画像を収集するサンプルコード
まずは、Googleから「犬」の画像を100枚収集する基本的な例を見てみましょう。
from icrawler.builtin import GoogleImageCrawler
# 保存先フォルダを指定してGoogleImageCrawlerを作成
crawler = GoogleImageCrawler(storage={"root_dir": "dogs"})
# "犬"というキーワードで100枚の画像を収集
crawler.crawl(keyword="犬", max_num=100)
上記のコードを実行すると、"dogs"フォルダに100枚の犬の画像が保存されます。非常に簡単ですね!
Bingから画像を収集する方法
また、Bingから画像を収集する方法も簡単です。以下は、Bingから「猫」の画像を50枚収集するサンプルコードです。
from icrawler.builtin import BingImageCrawler
crawler = BingImageCrawler(storage={"root_dir": "cats"})
crawler.crawl(keyword="猫", max_num=50)
このコードでは、Bingから「猫」の画像を50枚収集し、cats
フォルダに保存します。
Flickrから画像を収集する方法
次に、Flickrから画像を収集する方法を見てみましょう。Flickrは写真共有サービスで、高画質の写真を多数提供しています。
Flickrから画像を収集するためには、Flickr APIキーが必要です。FlickrのAPIキーを取得するには、Flickr APIのページからキーを発行してください。
APIキーを取得したら、次のコードで画像を収集できます。
from icrawler.builtin import FlickrImageCrawler
# Flickr APIキーを指定してFlickrImageCrawlerを作成
crawler = FlickrImageCrawler(api_key='YOUR_FLICKR_API_KEY', storage={"root_dir": "flowers"})
# "花"というキーワードで50枚の画像を収集
crawler.crawl(tags="花", max_num=50)
コードの解説
- FlickrImageCrawler: Flickrから画像を収集するためのクラスです。
- api_key: 先ほど取得したFlickr APIキーを指定します。
- tags: 検索キーワードに相当する「タグ」を指定します。この例では「花」を検索します。
このコードを実行すると、flowers
フォルダに50枚の花の画像が保存されます。
Baiduから画像を収集する方法
最後に、中国の大手検索エンジンBaiduから画像を収集する方法をご紹介します。
from icrawler.builtin import BaiduImageCrawler
# 保存先フォルダを指定してBaiduImageCrawlerを作成
crawler = BaiduImageCrawler(storage={"root_dir": "mountains"})
# "山"というキーワードで30枚の画像を収集
crawler.crawl(keyword="山", max_num=30)
コードの解説
- BaiduImageCrawler: Baiduから画像を収集するためのクラスです。
- keyword: Baiduで検索するキーワードです。この例では「山」を検索しています。
- max_num: 収集する画像の枚数を指定します。このコードでは30枚の画像を収集します。
このコードを実行すると、mountains
フォルダに30枚の山の画像が保存されます。
まとめ
今回は、Pythonの「icrawler」を使って、Google、Flickr、Baidu、Bingから画像を自動収集する方法をご紹介しました。
各検索エンジンに対応したクラスを使うことで、簡単に多くの画像を集めることができるため、データセット作成や研究用データ収集に非常に役立ちます。
ぜひ、あなたのプロジェクトに応じて活用してみてください!
参考リンク
このサイトのトップページへは以下へアクセス!
コメント