Python
[Python] icrawler로 간단하게 크롤링하기
체봄
2021. 1. 3. 18:52
icrawler.readthedocs.io/en/latest/builtin.html#search-engine-crawlers 의 코드를 따라서 매우 간단하게 크롤링을 할 수 있다.
!pip install icrawler
from icrawler.builtin import BaiduImageCrawler, BingImageCrawler, GoogleImageCrawler
# Google에서 크롤링
google_crawler = GoogleImageCrawler(
feeder_threads=1,
parser_threads=1,
downloader_threads=4,
storage={'root_dir': '/content/drive/MyDrive/Crawling'})
filters = dict(
size='large',
color='orange',
license='commercial,modify',
date=((2017, 1, 1), (2017, 11, 30)))
google_crawler.crawl(keyword='clothing', filters=filters, offset=0, max_num=1000,
min_size=(200,200), max_size=None, file_idx_offset=0)
# bing에서 크롤링
bing_crawler = BingImageCrawler(downloader_threads=4,
storage={'root_dir': '/content/drive/MyDrive/Crawling'})
bing_crawler.crawl(keyword='clothing', filters=None, offset=0, max_num=1000)
# baidu에서 크롤링
baidu_crawler = BaiduImageCrawler(storage={'root_dir': '/content/drive/MyDrive/Crawling'})
baidu_crawler.crawl(keyword='clothing', offset=0, max_num=1000,
min_size=(200,200), max_size=None)
'root_dir'에 크롤링한 이미지들을 저장할 경로를 써넣는다.
keyword에 크롤링할 키워드를 입력한다. (한글로 입력하면 크롤링이 잘 안되는 듯 하다)
max_num에는 크롤링할 이미지의 수를 쓴다. (이유는 정확히 모르겠지만 max_num에 써준 수보다 훨씬 적은 수가 크롤링되기 때문에 수를 크게 쓰는게 좋을 것 같다)
Google, bing, baidu 경우에서의 코드를 모두 각각 수정해줘야 한다.
크롤링 끝!
반응형