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地址之后,再去执行的下载,可以尝试下边下拉边下载。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏源码之家

取消dedecms 推荐文章 标题加粗

1122
来自专栏信安之路

打造一款自动扫描全网漏洞的扫描器

在渗透测试中,扫描器必不可少,毕竟目标很多,需要检测点也很多,不可能全部手工搞定的,所以很多渗透者都有自己的自动化工具或者脚本,这里就为大家分享一款由我自己开发...

5900
来自专栏Vamei实验室

协议森林10 魔鬼细节 (TCP滑窗管理)

在TCP协议与"流"通信中,我们建立了滑窗(sliding window)的基本概念。通过滑窗与ACK的配合,我们一方面实现了TCP传输的可靠性,另一方面也一定...

20410
来自专栏张戈的专栏

Nginx发布1.9.0版本,新增支持TCP代理和负载均衡的stream模块

昨天在公司微信群,CTO 分享了这个消息,对运维来说以后基于 TCP 协议的后端业务的高可用又多了一个新的选择,实在是棒极了! 一直以来,Nginx 并不支持 ...

3045
来自专栏简书专栏

基于Excel2013的数据导入

Excel2013下载网盘链接: https://pan.baidu.com/s/1MdF2pTxlJqZMqILcW2PeBA 密码: rxuv 这个安装包...

2282
来自专栏北京马哥教育

4个Linux服务器监控工具

下面是我想呈现给你的4个强大的监控工具。 htop – 交互式进程查看器 你可能知道在机器上查看实时进程的标准工具top。如果不知道,请运行$ top看看,运行...

3849
来自专栏黑白安全

WEB访问日志自动化分析浅谈

最近经常需要分析WEB访问日志,从中发现非法请求,然后做相应安全检查,为了方便,所以写了一个日志分析平台,支持提交iis,apapche,tomcat,ngni...

1362
来自专栏高性能服务器开发

从零学习开源项目系列(二) 最后一战概况

这份代码我也是无意中来自一个朋友,据他说也是来源于互联网,服务器端代码原来是linux版本的,但被厉害的大神修改成可以在Windows上运行。(如果不小心侵犯了...

1722
来自专栏木可大大

漫谈文件系统

翻译成中文大致意思:文件系统主要是管理数据存储以及数据如何检索的,而数据存储在磁盘或内存中。上期我们聊过了漫谈虚拟内存,本期我们就重点介绍磁盘中的机械磁盘的组成...

51912
来自专栏Netkiller

Linux Token Auth 一次性密码认证

Linux Token Auth 一次性密码认证 摘要 服务器端脚本: https://github.com/oscm/devops/blob/master/b...

3213

扫码关注云+社区

领取腾讯云代金券