Python爬虫日记第六天之超好看的堆糖头像
九图镇楼
前言
今天给大家推荐一波头像,是堆糖的,说实话堆糖的图片是真的好看啊,虽然女性用户较多,但是真的好看!所以想抓些头像来,这样子就不用愁换头像啦!
因为要爬取大量的图片,所以这次用的是python的scrapy框架,正好熟悉一下强大的scrapy
由于我的电脑上同时装了Python2和Python3,所以创建scrapy项目时需要注意,有问题的朋友可以参考我之前写的一篇博文:
解决scrapy创建项目时报错
分析
首先来到堆糖的头像界面:
计算了一下,每页有24张头像图片,共30页,打开Chrome的开发者工具,往下滑动界面,我们发现这些图片是通过异步加载出来的
这是我们还可以看到浏览器通过向这个URL发送请求得到了这些图片
所以我们只需要模仿浏览器发送这个请求就能拿到图片啦:
可以看到URL最后的参数中有start=24, _=1529059499009
start很好分析,对应的是起始的第几张图,而 "_="后面的数字串,熟悉的人可以一眼看出是一个时间戳
所以大致思路就出来了,我们可以重写start_requests()方法,利用format将start以及时间戳传入,再循环请求即可
开始
具体代码如下:
将获取到的item在pipeline.py中进行进一步操作,把图片保存到本地
以及item.py
注意在setting.py中启动管道中间件以及请求头,同时可以设置下载时延等,避开反爬
结果
-END-
领取专属 10元无门槛券
私享最新 技术干货