Python爬虫系列(五)360图库美女图片下载

这几天终于忙完毕设和学校的事情,终于有时间来写Python了(( ̄▽ ̄)~*)。前些天在群里看到有人讨论这个360美女图库 的爬取。自己今天也尝试下(蛮简单)。

因为这个网站是下拉到底底部,图片就会加载进来,所以自己想用Seleniu+PhantomJS来做,后来分享doc源代码并没有我们想要的图片信息,后来发现是js请求的数据,找到数据请求的地址,自己发现每次,下拉都会加载30张图片,所以自己将请求的其实图片张数每次加30(其实也就是模拟下拉动作,所以分析网站很重要,怎么省事怎么来吧O(∩_∩)O)下面是爬取过程和详情。

一、分析网站,找到目标的数据并分析img

首先打开开发者工具,找到network选项卡里下的doc,我们看下有没有想要的图片的src地址?

 
发下并没有我们要的信息

接着看我们可以看到底部srcipt,id=“initData”,通过这个id名字来看,就是初始打开这个网页的时候回默认加载30张美女图片

 
初始数据

然后打开network下的all选项,我们下拉浏览器,会发现下面有规律的请求地址:

(没错,这就是目标的数据请求地址,格式也是json)

 
ch=beuaty代表美女分类,sn={}代表每次请求30张
 
img的src为qhimg_url : "http://p0.so.qhimgs1.com/t01ac9283f4ba213c3c.jpg"

(ps:json的数据提取qhimg_url很简单了,和上一篇DOTA排行榜思路差不多)

 
json格式化工具(看的舒服些)

我上传了:格式化工具下载 

二、编写代码,下载图片并存到相应路径

这里自己使用urllib库中的一个函数urlretrieve()保存图片(很方便,很强大),然后保存的图片名称就是请求地址里的图片名称。

 

 
下载保存图片

源码地址 

三、总结

整体思路简单,但是这个程序有改善的地方,比如可以获取其他分类的图片

 
分类

那就将beauty替换成其他字段的分类字段。还有一个就是,可以尝试多线程下载,这儿离的思路是下拉动作完成之后,获取到所有src地址之后,再去执行的下载,可以尝试下边下拉边下载。

(ps:加一张美女图片:ψ(*`ー´)ψ)

 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值