王者荣耀官网皮肤图片获取

王者荣耀官网皮肤获取

最近在练习的时候写的一个可以获取王者荣耀官网每一个英雄的皮肤图片

代码如下

import requests
import json
import os
from lxml import etree


def skin_request():
    page = requests.get(url=json_url, headers=headers).text
    html = json.loads(page)
    hero_list = []
    for hero in html:
        hero_one = {}
        hero_one['name'] = hero['cname']
        hero_one['ename'] = hero['ename']
        hero_list.append(hero_one)
    skin_get(hero_list)


def skin_get(hero_list):
    for i in hero_list:
        ename = str(i['ename'])
        for j in range(1, 10):
            skin_url = 'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + ename + '/' + ename + '-bigskin-' + str(j) + '.jpg'
            # print(skin_url)
			# 请求皮肤链接
            skin = requests.get(url=skin_url, headers=headers)
			# 判断请求是否正常,200这代表有这个编号的皮肤
            if skin.status_code == 200:  # 当请求成功的时候会保存文件
                path = save(i['name'])
                skin_name = i['name'] + str(j) + '.jpg'
                with open(path + '/' + skin_name, 'wb') as f:
                    f.write(skin.content)
            else:  # 请求失败证明没这个皮肤了,终止循环
                break


def save(name):
    path1 = os.path.dirname(__file__) + '/皮肤'
    os.chdir(path1)
    path = path1 + '/' + name
    if not os.path.exists(path):
        os.mkdir(name)
    return path


if __name__ == '__main__':
    main_url = 'https://pvp.qq.com/web201605/herolist.shtml'
    json_url = 'https://pvp.qq.com/web201605/js/herolist.json'
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36',
    }
    skin_request()

在这里插入图片描述

说明:

代码已经上传到gitee(码云):去码云康康?
headers:仅仅代表使用的浏览器版本,可以打开浏览器,随便开一个网页,按F12,找到User-Agent对应的属性就是自己的浏览器的UA。
用pycharm,Python版本3.0以上应该都能运行,插件也可以直接pip安装

注意:

这个程序有些瑕疵,比如,获取的皮肤图片到本地后,命名会以英雄名字加数字,不是皮肤的名字,原因是它存在json数据中,需要拿出来切片使用,emmmm,说白了,嫌麻烦没搞,嘿嘿
在这里插入图片描述

ps:

这只是一个python新手练习的代码,是自己写的,有问题轻喷,望大佬指正,谢谢

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值