用心盘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:早晚会用到的图片爬虫


分享到:


相關文章: