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

作者: 致Great | 来源:发表于2017-04-28 16:50 被阅读232次

    这几天终于忙完毕设和学校的事情,终于有时间来写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:加一张美女图片:ψ(*`ー´)ψ)

    相关文章

      网友评论

      本文标题:Python爬虫系列(五)360图库美女图片下载

      本文链接:https://www.haomeiwen.com/subject/liqazttx.html