用心盤Python:早晚會用到的圖片爬蟲

數據分析或者算法工程師做圖像識別相關的工作時候,需要自己從搜索引擎下載圖片。

python有封裝好的包icrawler,專門用於從百度、谷歌、bing進行圖片爬蟲。下面代碼是筆者利用此包封裝好一個腳本,根據關鍵詞進行爬蟲:

import argparse
import os
from icrawler.builtin import BaiduImageCrawler, GoogleImageCrawler, BingImageCrawler
parser = argparse.ArgumentParser()
parser.add_argument('--engine', '-e', type=str, default='baidu')
parser.add_argument('--max_num', '-m', type=int, default=10)
parser.add_argument('--key', '-k', type=str, default="", required=True)
parser.add_argument('--output_root', '-o', type=str, default="./")
FLAGS = parser.parse_args()
max_num = FLAGS.max_num
key = FLAGS.key
output_root = FLAGS.output_root
print(output_root)
google_crawler = GoogleImageCrawler
baidu_crawler = BaiduImageCrawler
bing_crawler = BingImageCrawler
Crawlers = {
"google": google_crawler,
"baidu": baidu_crawler,
"bing": bing_crawler,
}
Crawler = Crawlers[FLAGS.engine]
_crawler = Crawler(parser_threads=20, downloader_threads=10,
storage={'root_dir': os.path.join(output_root, key)})
_crawler.crawl(keyword=key, max_num=max_num,
min_size=(200, 200), max_size=None)

運行方式:

python picture_craw.py -e bing -k 波多野結衣 -m 60 -o ./
# -e 指定搜索引擎,可選:google baidu bing
# -k 指定要搜索的關鍵詞,例如本例子就是下載「波多野結衣」的圖片
# -m 指定保存的個數
# -o 指定保存路徑,不指定的話直接下載到當前目錄。
用心盤Python:早晚會用到的圖片爬蟲


分享到:


相關文章: