Python3爬虫系列11 (实战) - 爬取妹子图 第二弹

  • 原创
  • Madman
  • /
  • /
  • 3
  • 3681 次阅读

spider 11-min.png

Synopsis: 爬取 www.mzitu.com 全站图片,截至目前共4725个图集,14.5万多张美女图片,使用 asyncio 和 aiohttp 实现的异步版本只需要不到2小时就能爬取完成。按日期创建图集目录,保存更合理。控制台只显示下载的进度条,详细信息保存在日志文件中。支持异常处理,不会终止爬虫程序。失败的请求,下次再执行爬虫程序时会自动下载

代码已上传到 https://github.com/wangy8961/python3-concurrency-pics-02 ,欢迎star

1. 准备环境

1.1 安装CentOS

建议使用VMware安装一台CentOS-7.3虚拟机,请参考:http://www.madmalls.com/blog/post/customize-centos-7-3-autoinstall-iso/

1.2 安装Python3

请参考:http://www.madmalls.com/blog/post/deploy-flask-gunicorn-nginx-supervisor-on-centos7/#3-python3

1.3 安装MongoDB

请参考:http://www.madmalls.com/blog/post/deploy-flask-gunicorn-nginx-supervisor-on-centos7/#4-mongodb ,如果是Windows请参考:http://www.madmalls.com/blog/post/win10-install-mongodb/

尝试使用motor实现MongoDB异步操作,好像效率更差一些,所以放弃使用该模块。目前数据库操作是同步阻塞型,使用pymongo模块

1.4 安装Git

[root@CentOS ~]# yum -y install git

代码已上传到 https://github.com/wangy8961/python3-concurrency-pics-02欢迎star,克隆代码:

[root@CentOS ~]# git clone https://github.com/wangy8961/python3-concurrency-pics-02.git
[root@CentOS ~]# cd python3-concurrency-pics-02/

1.5 准备虚拟环境

如果你的操作系统是Linux:

[root@CentOS python3-concurrency-pics-02]# python3 -m venv venv3
[root@CentOS python3-concurrency-pics-02]# source venv3/bin/activate

Windows激活虚拟环境的命令是: venv3\Scripts\activate

1.6 安装依赖包

如果你的操作系统是Linux:

(venv3) [root@CentOS python3-concurrency-pics-02]# pip install -r requirements-linux.txt

如果你的操作系统是Windows(不会使用uvloop):

(venv3) C:\Users\wangy> pip install -r requirements-win32.txt

2. 分析过程

mzitu step 01 - 04

2.1 获取图集信息

使用requests模块或aiohttp模块来获取入口页面

未经允许不得转载: LIFE & SHARE - 王颜公子 » Python3爬虫系列11 (实战) - 爬取妹子图 第二弹

分享

作者

作者头像

Madman

如需 Linux / Python 相关问题付费解答,请按如下方式联系我

3 条评论

小神龙
小神龙

可以可以,老司机要开车了 嘿嘿

shaoze
shaoze

说好的附件呢?

Madman
Madman shaoze Author

在 [分类] 的上方

专题系列

热门文章