发布于:2020-06-25 12:06:16    本文总阅读量:

用Python下载王者荣耀皮肤(2020-06-25所有皮肤)

作为一个程序员,对电脑、编程以及游戏的热爱,远不是其他职业能够体会到的。 从初一正式接触微机(电脑),高中上网吧,大学入手自己的电脑,工作几年后买了MacBook Pro和iPhone 8P。 设备一直是与时俱进,但游戏技术确实一般般,王者荣耀也是在今年终于上了两个赛季的最强王者。 腾讯出品的游戏,无论是MOBA手游,还是MMORPG端游,皮肤一直作为收费道具,是腾讯很热手的营收手段。 热爱游戏的我们,也喜欢将自己喜欢的皮肤,作为电脑、手机等电子产品的壁纸以及自己的头像。

下面我通过Python分享下如何下载所有的王者荣耀皮肤(代码是从其他公众号复制,并作了一点点优化)。

先送上皮肤归档包大礼包(大小约100M,请连接Wifi,用电脑下载),下载链接:https://cdn.tecchen.tech/wzry-skin-20200625.zip

文件校验值:

  • Md5:e988a4a279e81ff4ba7098f553e24d2a
  • SHA-1:e232cb29a76627885deac1fc17c14705a825037a
  • SHA-256:79df6476c016fbadc7719dab5799d96389e5c3b63c46c5f32065689f559f4cc9
  • SHA-512:dbae9a7a56ef672efba1849edc311aafcb807714a7bf3c68233ccab867824bba849ae903c55d39d2ad2ac780fe360ff8eaba856c16688decbffb7365a847b3a3

官网链接:https://pvp.qq.com/web201605/herolist.shtml

Python代码:

#!/usr/bin/python3
# -*- coding: UTF-8 -*-
# 引入模块
import requests
import json
import os
import time

#程序开始时间
st = time.time()
url = 'http://pvp.qq.com/web201605/js/herolist.json'
# 获取 json 内容
response=requests.get(url).content

# 提取 Json 信息
jsonData=json.loads(response)
# 打印查看
#print(jsonData)

# 初始化下载数量
x = 0

hero_dir='/data/wzry/'
#目录不存在则创建
if not os.path.exists(hero_dir):
     os.mkdir(hero_dir)

for m in range(len(jsonData)):

    print(str(jsonData[m]))
    
    # 英雄编号
    ename = jsonData[m]['ename']
    # 英雄名称
    cname = jsonData[m]['cname']
    # 称号
    title = jsonData[m]['title']
    # 皮肤名称,一般英雄会有多个皮肤
    skinArray = jsonData[m]['skin_name']

    if 'skin_name' not in jsonData[m]:
        continue
    skinName = jsonData[m]['skin_name'].split('|')
    # 皮肤数量
    skinNumber = len(skinName)
    # 循环遍历处理
    for bigskin in range(1,skinNumber+1):
        # 拼接下载图片url
        picUrl = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'+str(ename)+'/'+str(ename)+'-bigskin-'+str(bigskin)+'.jpg'

        try:
            #获取图片内容
            picture = requests.get(picUrl).content
        except ConnectionError as e:
            #获取图片内容
            picture = requests.get(picUrl).content
        
        # 保存图片
        with open( hero_dir + cname + "-" + title + "-" + skinName[bigskin-1]+'.jpg','wb') as f:
            f.write(picture)
            x=x+1
            print("当前下载第"+str(x)+"张皮肤")
# 获取结束时间
end = time.time()
# 计算执行时间
exec_time = end-st
print("找到并下载"+str(x)+"张图片,总共用时"+str(exec_time)+"秒。")

# wget -O "马超-冷晖之枪-冷晖之枪.jpg" "http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/518/518-bigskin-1.jpg"
# wget -O "马超-冷晖之枪-幸存者.jpg" "http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/518/518-bigskin-2.jpg"
# wget -O "马超-冷晖之枪-神威.jpg" "http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/518/518-bigskin-3.jpg"

由于未知的原因,马超的皮肤并不能通过接口返回并通过脚本下载,所以最后三行注释的脚本是马超的皮肤,喜欢马超的小伙伴请注意哦。

目录
close

通过邮件接收 KubeSphere 最新的技术博客与产品更新的通知