参考ページ
- icrawlerを利用して画像をクローリングする icrawler.readthedocs.io
インストール
- JupyterLabのコンソール画面からicrawlerをインストールする。
pip install icrawler
コマンドを実行する
実行
- 下記のサンプルコードを実行する
from icrawler.builtin import GoogleImageCrawler google_crawler = GoogleImageCrawler(storage={'root_dir': 'test'}) google_crawler.crawl(keyword='海', max_num=100)
- 下記のエラーが発生してクローリングに失敗する
Exception in thread parser-001: Traceback (most recent call last): File "/opt/conda/lib/python3.8/threading.py", line 932, in _bootstrap_inner self.run() File "/opt/conda/lib/python3.8/threading.py", line 870, in run self._target(*self._args, **self._kwargs) File "/opt/conda/lib/python3.8/site-packages/icrawler/parser.py", line 104, in worker_exec for task in self.parse(response, **kwargs): TypeError: 'NoneType' object is not iterable
画像に関しては下記のパッケージをインポートする必要らしく icrawler.readthedocs.io
下記のように実行するとテストフォルダに海の画像を取得することができました。
from icrawler.builtin import BingImageCrawler # downloader_threads: ダウンローダーのスレッド数 # storage: ダウンロード先のディレクトリ名 bing_crawler = BingImageCrawler(downloader_threads=1, storage={'root_dir': 'test'}) # max_num: ダウンロードする画像の最大枚数 # keyword: 検索キーワード bing_crawler.crawl(keyword="海",max_num=100)
実行結果