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

posted @ 2018-02-15 21:23  MrYun  阅读(424)  评论(0编辑  收藏  举报