AotucCrawler 快速爬取图片
AotucCrawler 快速爬取图片
今天介绍一款自动化爬取图片项目。
GitHub: https://github.com/YoongiKim/AutoCrawler
Google, Naver multiprocess image web crawler (Selenium)
关键字
- 爬虫网站:Google、Naver (美、韩两大搜索引擎)
- 运行方式:Multiprocess(多进程)
- 爬取格式:image (图片)
- 基于自动化工具:Selenium (不解释)
如何使用
Git克隆
AutoCrawler
项目到本地自行安装
Chrome
浏览器安装依赖
> pip -r requirements.txt
certifi
: 包含了很多可信任知名公司的证书/公钥。chardet
:提供自动检测字符编码的功能。idna
: 提供"对于RFC5891中定义的IDNA协议(Internationalised Domain Names in Applications)的支持"。requests
: 依赖于上面三个基础库,他主要用于根据图片链接下载图片。selenium
: 用于启动浏览器,爬取图片链接。webdriver-manager
: 用来管理selenium浏览器驱动的项目。
仔细分析别人项目,不管是源码还是依赖库都会有收获。
webdriver-manager
就是我发现的一个宝藏项目,它简化的浏览器驱动的管理。
- 打开
keywords.txt
文件,编写爬取的关键字。
cat
dog
- 运行
main.py
文件
> python main.py
参数说明:
--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
- 爬取的图片保存于
downloads/
目录。
小结
因为使用的是Google网站,没有梯子的同学有点郁闷。项目本身并不复杂,两个python文件加一起不到1000行代码,我们完全可以花点时间替换为国内可访问的搜索引擎。
下载图片只是为了欣赏猫猫狗狗吗?当然不是,我们可用下载的图片训练 AI。
AotucCrawler 快速爬取图片的更多相关文章
- Java jsoup爬取图片
jsoup爬取百度瀑布流图片 是的,Java也可以做网络爬虫,不仅可以爬静态网页的图片,也可以爬动态网页的图片,比如采用Ajax技术进行异步加载的百度瀑布流. 以前有写过用Java进行百度图片的抓取, ...
- python如何使用request爬取图片
下面是代码的简单实现,变量名和方法都是跑起来就行,没有整理,有需要的可以自己整理下: image2local: import requests import time from lxml import ...
- [python爬虫] 爬取图片无法打开或已损坏的简单探讨
本文主要针对python使用urlretrieve或urlopen下载百度.搜狗.googto(谷歌镜像)等图片时,出现"无法打开图片或已损坏"的问题,作者对它进行简单的探讨.同时 ...
- scrapy爬虫,爬取图片
一.scrapy的安装: 本文基于Anacoda3, Anacoda2和3如何同时安装? 将Anacoda3安装在C:\ProgramData\Anaconda2\envs文件夹中即可. 如何用con ...
- scrapy爬虫系列之三--爬取图片保存到本地
功能点:如何爬取图片,并保存到本地 爬取网站:斗鱼主播 完整代码:https://files.cnblogs.com/files/bookwed/Douyu.zip 主要代码: douyu.py im ...
- 孤荷凌寒自学python第八十二天学习爬取图片2
孤荷凌寒自学python第八十二天学习爬取图片2 (完整学习过程屏幕记录视频地址在文末) 今天在昨天基本尝试成功的基础上,继续完善了文字和图片的同时爬取并存放在word文档中. 一.我准备爬取一个有文 ...
- 孤荷凌寒自学python第八十一天学习爬取图片1
孤荷凌寒自学python第八十一天学习爬取图片1 (完整学习过程屏幕记录视频地址在文末) 通过前面十天的学习,我已经基本了解了通过requests模块来与网站服务器进行交互的方法,也知道了Beauti ...
- 爬取图片过程遇到的ValueError: Missing scheme in request url: h 报错与解决方法
一 .scrapy整体框架 1.1 scrapy框架图 1.2 scrapy框架各结构解析 item:保存抓取的内容 spider:定义抓取内容的规则,也是我们主要编辑的文件 pipelines:管道 ...
- python网络爬虫之使用scrapy爬取图片
在前面的章节中都介绍了scrapy如何爬取网页数据,今天介绍下如何爬取图片. 下载图片需要用到ImagesPipeline这个类,首先介绍下工作流程: 1 首先需要在一个爬虫中,获取到图片的url并存 ...
随机推荐
- 找出某名珍贵药材的生长区域(ArcPy实现)
一.背景 某种珍贵药材生长于山区,通过研究了解到这种药材生长具有严格的生长条件.为了能更好地保护该药材的生长环境,现在需要使用GIS空间分析方法,将药材适合生长区域找出来,以便为该物种保护提供依据. ...
- PAT (Basic Level) Practice (中文)1017 A除以B (20分)
1017 A除以B (20分) 本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数.你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立. 输入格式: 输入在一 ...
- Convolutional Neural Network-week1编程题(TensorFlow实现手势数字识别)
1. TensorFlow model import math import numpy as np import h5py import matplotlib.pyplot as plt impor ...
- JVM:类加载与字节码技术-2
JVM:类加载与字节码技术-2 说明:这是看了 bilibili 上 黑马程序员 的课程 JVM完整教程 后做的笔记 内容 这部分内容在上一篇笔记中: 类文件结构 字节码指令 编译期处理 类加载阶段 ...
- sql 多表联合查询更新
sqlserver: update A a set a.i = b.k from B b where a.key = b.key oracle : update A a set a.i = (sele ...
- Android 服务名称规则invalid service name 限制16字符以内
今天调试网络服务的时候为了区分,修改了原有服务名称,同时新增了两个服务. 系统运行的时候报错找不到对应的服务 init: no such service 'wpa_supplicant_common' ...
- Zabbix webhook 自定义报警媒介
场景一:使用企业微信机器人报警 图中的token是:在群组中添加机器人,机器人的webhook地址的key var Wechat = { token: null, to: null, message: ...
- native连接远程mysql数据库
1.环境 CentOS7.mysqld 8.0.19 2.登录数据库 #mysql -u root -p 2.修改root登录地址为%(任何IP) mysql> update user set ...
- centos redhat 安装g++
正确安装命令 : yum install gcc-c++ libstdc++-devel 安装后可以在/bin/找到
- ansible模块及语法
常用模块详解 模块说明及示例: 1.ping模块ping模块 主要用于判断远程客户端是否在线,用于ping本身服务器,返回值是changed.ping示例 ansible clu -m ping 2. ...