Ich habe ein Array mit vielen keywords:Wie kriechen mehrere Keywords mit Python icrawler
array = ['table', 'chair', 'pen']
I 5 Bilder von Google-Bildsuche für jedes Element in meinem array
mit Python icrawler
ist die Initialisierung:
from icrawler.builtin import GoogleImageCrawler
google_crawler = GoogleImageCrawler(
parser_threads=2,
downloader_threads=4,
storage={ 'root_dir': 'images' }
)
ich benutze eine Schleife jedes Element zu kriechen:
for item in array:
google_crawler.crawl(
keyword=item,
offset=0,
max_num=5,
min_size=(500, 500)
)
Allerdings erhalte ich das Fehlerprotokoll:
File "crawler.py", line 20, in <module>
min_size=(500, 500)
File "/home/user/opt/miniconda3/envs/pak/lib/python3.6/site-packages/icrawler/builtin/google.py", line 83, in crawl
feeder_kwargs=feeder_kwargs, downloader_kwargs=downloader_kwargs)
File "/home/user/opt/miniconda3/envs/pak/lib/python3.6/site-packages/icrawler/crawler.py", line 166, in crawl
self.feeder.start(**feeder_kwargs)
File "/home/user/opt/miniconda3/envs/pak/lib/python3.6/site-packages/icrawler/utils/thread_pool.py", line 66, in start
worker.start()
File "/home/user/opt/miniconda3/envs/pak/lib/python3.6/threading.py", line 842, in start
raise RuntimeError("threads can only be started once")
RuntimeError: threads can only be started once
, die scheint, dass ich nicht google_crawler.crawl
mehr als einmal verwenden kann. Wie kann ich das beheben?
ps: Sie können ein Problem auf Github für schnellere Antworten auslösen. –