【Python(icrawler)でWebスクレイピング入門】画像データを手軽に収集する方法

icrawler
けんろう
けんろう

今回は、Pythonライブラリicrawlerを使って、画像データを手軽に収集する方法を紹介します。 

この記事に載っているサンプルコードをコピーして、Pythonで実行すれば、簡単に動きを確認できますので、是非試してみて下さい。

この記事では、初心者にもわかりやすいように、各処理の内容を、サンプルコード内にコメントとして載せています。

【無料オンライン】ゼロから始めるPythonプログラミング入門講座(週5開催) テックジム
スポンサーリンク

画像データをネットから自動収集するアプリ

今回作成するアプリは、指定したキーワードに該当する画像データを自動収集するアプリとなります。

【AIジョブカレ】人工知能技術専門プログラミングスクール

準備

本アプリを動かすためには、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でプログラムを作るのなら、ラズパイが安くて、環境構築も楽で、おすすめです。

まとめ

今回は、Pythonライブラリである、 icrawlerを使い、希望する画像データを手軽に収集できるアプリの作り方を紹介しました。

コメント

タイトルとURLをコピーしました