AotucCrawler 快速爬取图片

2021年11月26日 阅读数:5
这篇文章主要向大家介绍AotucCrawler 快速爬取图片,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

AotucCrawler 快速爬取图片

今天介绍一款自动化爬取图片项目。python

GitHub: https://github.com/YoongiKim/AutoCrawlerlinux

Google, Naver multiprocess image web crawler (Selenium)git

关键字github

  • 爬虫网站:Google、Naver (美、韩两大搜索引擎)
  • 运行方式:Multiprocess(多进程)
  • 爬取格式:image (图片)
  • 基于自动化工具:Selenium (不解释)

如何使用

  1. Git克隆AutoCrawler项目到本地web

  2. 自行安装 Chrome 浏览器docker

  3. 安装依赖shell

> pip -r requirements.txt
  • certifi: 包含了不少可信任知名公司的证书/公钥。
  • chardet:提供自动检测字符编码的功能。
  • idna: 提供"对于RFC5891中定义的IDNA协议(Internationalised Domain Names in Applications)的支持"。
  • requests: 依赖于上面三个基础库,他主要用于根据图片连接下载图片。
  • selenium: 用于启动浏览器,爬取图片连接。
  • webdriver-manager: 用来管理selenium浏览器驱动的项目。

仔细分析别人项目,无论是源码仍是依赖库都会有收获。webdriver-manager 就是我发现的一个宝藏项目,它简化的浏览器驱动的管理。浏览器

  1. 打开keywords.txt文件,编写爬取的关键字。
cat
dog
  1. 运行main.py 文件
> python main.py

参数说明:less

--skip true:若是下载的关键字已经存在,是否跳过关键字,从新下载时须要设置。工具

--threads 4: 下载使用线程数量

--google true: 从google.com 下载。

--naver true: 从naver.com 下载。

--full false: 下载全分辨率图像而不是缩略图 (慢)。

--face false: Face search mode。

--no_gui auto: 使用 GUI 模式. (headless模式) 全分辨率模式能够加速, 可是缩略图模式不稳定。 默认auto模式,若是full=false 默认使用使用GUI,若是full=true默认Headless模式。(可用于docker linux系统)。

--limit 0: 设置最大图片下载范围。 (0: 无限制)

--proxy-list: 逗号分隔的代理列表,如: socks://127.0.0.1:1080, http://127.0.0.1:1081,每一个线程从列表中随即选择一个。

例如:

> python main.py --threads 2 --google true  --naver false --full false --limit 50

  1. 爬取的图片保存于 downloads/ 目录。

小结

  1. 由于使用的是Google网站,没有梯子的同窗有点郁闷。项目自己并不复杂,两个python文件加一块儿不到1000行代码,咱们彻底能够花点时间替换为国内可访问的搜索引擎。

  2. 下载图片只是为了欣赏猫猫狗狗吗?固然不是,咱们可用下载的图片训练 AI。