1.首先我们要找到所有英雄列表
百度“王者荣耀”进入官网,进入https://pvp.qq.com/,按F12进入调试界面,然后按F5刷新界面,图中标识的herolist.json文件就是我们所需要的英雄列表,其中包括英雄编号、英雄名称、英雄类型、皮肤的名称等信息,在文件上右击复制链接。
import urllib.request
import json
import os
#获取王者荣耀皮肤地址
wz_response_url=urllib.request.urlopen('http://pvp.qq.com/web201605/js/herolist.json')
2.找到每个英雄的全部皮肤
点击首页的“游戏资料”标签页,进入新的界面后点击一个英雄头像进入英雄资料界面,此处我们以后裔为例:
可以看到后裔一共有4个皮肤,右键复制,我们就可以得到其中一个皮肤的网址了
分析一下这个链接,其中“169”是英雄的编号,最后的“1”是该英雄的皮肤编号。到此为止,浏览器已经没有用了,该得到的信息我们都有了。
3.讲述一下如何将图片存放到本地
4.一定要注意转为json格式前的格式,python在进行read或readline等操作时,就针对tuf-8编码文件,会加入BOM(Byte order Mark标识字符序列)来声明编码方式,比如 b'\xef\xbb\xbf
要先进行字符串的切割或者用正则去掉,然后再转json
5.文件里的效果
6.上述完整代码
import urllib.request
import json
import os
wz_response_url=urllib.request.urlopen('http://pvp.qq.com/web201605/js/herolist.json')
wz_herotext=wz_response_url.read().decode('utf-8')
wz_herotext=wz_herotext.encode('utf-8')[3:].decode('utf-8')
hero_json=json.loads(wz_herotext)
print(hero_json)
hero_dir='D:\code\hero\\'
if not os.path.exists(hero_dir): #该文件夹不存在,则..
os.mkdir(hero_dir)
for i in hero_json:
c=i['cname']
e=i['ename']
a=i['skin_name'].split('|')
b=len(a)
for j in range(0,b):
add='http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/%s/%s-bigskin-%s.jpg'%(e,e,j+1)
add_name=hero_dir+'%s-%s-%s.jpg'%(e,c,a[j])
urllib.request.urlretrieve(add,add_name)