⚡王者农药皮肤图片获得!⚡
1、序言
王者光彩大家皆玩过吧,出玩过的也该当传闻过,做为时下最水的脚机MOBA游戏,咳咳,仿佛跑题了。我们明天的重面是爬与王者光彩一切豪杰的一切皮肤!
2、情况筹办
编纂器:pycharm
用到的库:requests、lxml
3、详细完成
1、一切豪杰疑息获得
翻开民网,进进豪杰材料页里,经由过程开辟者东西,获得一切的豪杰的数据
[img=80%,80%]https://img-blog.csdnimg.cn/402d3779756b48a596ff73bb2d2fe6e2.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP6JGj5ZCM5a2m5ZWK,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center[/img]
每个豪杰材料为json格局,共106个,此中一个表示以下:
[img=80%,80%]https://img-blog.csdnimg.cn/5ba316e7165c481683a1bbd2ec278c54.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA5bCP6JGj5ZCM5a2m5ZWK,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center[/img]
解码后,称号以下:
- {
- 'cname': '廉颇', # 豪杰称号
- 'ename': 105, # 豪杰编号
- 'hero_type': 3, # 豪杰范例
- 'new_type': 0,
- 'skin_name': '公理爆轰|天堂岩魂', # 豪杰皮肤称号
- 'title': '公理爆轰' # 当前皮肤
- }
复造代码 那里次要需求的是 cname、ename、skin_name,skin_name用于获得皮个数
2、阐发图片url
翻开一个豪杰的详情页,翻开开辟者东西,觉得云樱为例,一共两个皮肤,别离正在两个li标签中,因而轮回两次就能够局部拿到,也便是为何之前要获得skin_name的缘故原由
察看url,寻觅纪律,此中前里的【//game.gtimg.cn/images/yxzj/img201606/skin/hero-info/】皆是牢固的,前面的是每一个豪杰的ename,然后ename-bigskin-skin_name的少度,因而,只需对那个url停止恳求就能够获得下浑壁纸
- //game.gtimg.cn/images/yxzj/img201606/skin/hero-info/538/538-bigskin-1.jpg
- //game.gtimg.cn/images/yxzj/img201606/skin/hero-info/538/538-bigskin-2.jpg
复造代码 3、详细完成
- from pprint import pprint
- import requests
- if __name__ == '__main__':
- headers = {
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36 Edg/92.0.902.84"
- }
- baseurl = 'https://pvp.qq.com/web201605/js/herolist.json'
- r = requests.get(url=baseurl, headers=headers)
- data = r.json() # 豪杰材料,包罗cname、ename、skin_name
- for i in data:
- pprint(i) # 利用pprint挨印数据本初格局
-
- cname = i["cname"]
- ename = i["ename"]
-
- try:
- skin_name = i["skin_name"].split("|") # 此中马超出有skin_name
- except Exception as e:
- print(e)
-
- for skin_num in range(1, len(skin_name) + 1):
- sk_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(ename) + "/" + str(
- ename) + "-bigskin-" + str(skin_num) + ".jpg" # url拼接
- try:
- data = requests.get(url=sk_url, headers=headers).content
- with open("img/" + cname + "-" + skin_name[skin_num - 1] + ".jpg", "wb")as fp:
- fp.write(data)
- except Exception as e :
- print(e)
- print(ename,"下载完成...")
复造代码 4、成果
4、最初
中心会有skin_name非常,必然要捕捉非常,保证步伐不断施行下来,并且呈现了几回IP非常,下次测验考试操纵代办署理。
免责声明:假如进犯了您的权益,请联络站少,我们会实时删除侵权内乱容,感谢协作! |