Python爬虫日记第六天之超好看的堆糖头像

Python爬虫日记第六天之超好看的堆糖头像

九图镇楼

前言

今天给大家推荐一波头像,是堆糖的,说实话堆糖的图片是真的好看啊,虽然女性用户较多,但是真的好看!所以想抓些头像来,这样子就不用愁换头像啦!

因为要爬取大量的图片,所以这次用的是python的scrapy框架,正好熟悉一下强大的scrapy

由于我的电脑上同时装了Python2和Python3,所以创建scrapy项目时需要注意,有问题的朋友可以参考我之前写的一篇博文:

解决scrapy创建项目时报错

分析

首先来到堆糖的头像界面:

计算了一下,每页有24张头像图片,共30页,打开Chrome的开发者工具,往下滑动界面,我们发现这些图片是通过异步加载出来的

这是我们还可以看到浏览器通过向这个URL发送请求得到了这些图片

所以我们只需要模仿浏览器发送这个请求就能拿到图片啦:

可以看到URL最后的参数中有start=24, _=1529059499009

start很好分析,对应的是起始的第几张图,而 "_="后面的数字串,熟悉的人可以一眼看出是一个时间戳

所以大致思路就出来了,我们可以重写start_requests()方法,利用formatstart以及时间戳传入,再循环请求即可

开始

具体代码如下:

将获取到的itempipeline.py中进行进一步操作,把图片保存到本地

以及item.py

注意在setting.py中启动管道中间件以及请求头,同时可以设置下载时延等,避开反爬

结果

-END-

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181105G230HY00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券