zoukankan      html  css  js  c++  java
  • python实现王者荣耀英图片收集

    一个python写的小爬虫项目,爬虫相关的很容易写,关键是怎么找到爬取图片的位置。
    霓裳曲.jpg

    图片位置分析

    hero_list_url = 'http://pvp.qq.com/web201605/js/herolist.json'
    hero_skin_root_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'
    

    首先看提取出的两个url地址:hero_list_url与hero_skin_root_url,一个是json文件、另一个是jpg文件的网络位置。接下来我来分析一下这两个目标位置是如何找到的:
    打开抓包软件进行抓包
    在所有图片加载之前会出现一个json文件,这个json文件就是相对应的英雄信息,包括图片和其他信息。
    Snipaste_2018-02-15_14-26-43.png
    再看数据包中的其他数据:
    Snipaste_2018-02-15_14-28-06.png
    首先看/images/yxzj/img201606/heroimg/176/176.jpg,所对应的图像为一个英雄的头像;但是很明显的不是我们所追求的英雄全图。
    再点开这个头像发现又抓到了几个新的数据包,其中就有我们要的图片的数据包:
    Snipaste_2018-02-15_14-31-39.png
    查看具体图像的请求地址:
    Snipaste_2018-02-15_14-32-17.png
    请求地址为/images/yxzj/img201606/skin/hero-info/176/176-bigskin-1.jpg,而多次请求就可以发现变化的是后面的176/176-bigskin-1,前面的/images/yxzj/img201606/skin/hero-info/是不会变化的,而这个176的编号是可以通过前面的json文件提取出来的,所以我们可以断定请求地址就是这个了。

    代码思路

    在上面的网络地址中发出请求就可以获取图片,但关键是如何将图片分名字存储到文件夹内,具体的可以参照项目代码:
    Snipaste_2018-02-15_14-39-28.png

    效果图

    霓裳曲.jpg

    风华霓裳.jpg

    明媚烈焰.jpg

    Snipaste_2018-02-15_14-36-15.png

    作者:YunLambert

    -------------------------------------------

    个性签名:一名会音乐、爱健身的不合格程序员

    可以Follow博主的Github哦(っ•̀ω•́)っ✎⁾⁾

  • 相关阅读:
    redis 学习(一)
    spring 学习总结(一)
    Struts2 学习(三)
    Python3 高级特性
    Python3 模块
    Python3 函数式编程
    Python3 函数
    Python3 列表
    Python3 字符编码
    Java Servlet 回顾
  • 原文地址:https://www.cnblogs.com/yunlambert/p/8449812.html
Copyright © 2011-2022 走看看