使用Python爬出王者荣耀高清皮肤图片

记录一下自己获取王者荣耀的高清皮肤图片的过程

先进入王者荣耀的官网https://pvp.qq.com/

打开F12后,点到Network那里,再按F5,然后就会看到巴拉巴拉加载出很多网络包

对herolist.json右键->Copy->Copy link address ,得到如下链接https://pvp.qq.com/web201605/js/herolist.json

把上面的链接复制到网址栏,回把json文件下载下来,我们看看这个json文件长什么样

这一步是为了获取英雄列表和英雄的数量

接下来找到官网有英雄介绍的地方,那个地方一定有高清图(目标很明确)https://pvp.qq.com/web201605/herolist.shtml

我们随便点开一个英雄,进入到英雄的介绍页面后,同样F12,找到图片

同样的,对着图片右键->Copy->Copy link address,然后将地址复制到网址栏,按回车,成功打开图片

分析地址:https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/527/527-bigskin-1.jpg

其中‘527'是英雄的编号,最后的'-1'是该英雄的皮肤编号(如果一个英雄有多个皮肤,会有-2 -3等等,你可以试试将上面地址的-1改成-2,会返回蒙恬的第二个皮肤)。到这里,浏览器上所需要的信息我们已经全部获得。

接下来我们看会刚才下载的herolist.json文件,里面有一个skin_name的字段,如果一个英雄有多个皮肤,它会以“|”分割

最后下载图片就完成,具体代码如下,可直接运行:

import urllib.request
import json
import os
 
response = urllib.request.urlopen("http://pvp.qq.com/web201605/js/herolist.json")
hero_json = json.loads(response.read())
hero_num = len(hero_json)
save_dir = 'D:\heroskin\\'
if not os.path.exists(save_dir):
 os.mkdir(save_dir)
 for i in range(hero_num):
  # 获取英雄皮肤列表
  skin_names = hero_json[i]['skin_name'].split('|')
  for cnt in range(len(skin_names)):
   save_file_name = save_dir + str(hero_json[i]['ename']) + '-' +hero_json[i]['cname']+ '-' +skin_names[cnt] + '.jpg'
   skin_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'+str(hero_json[i]['ename'])+ '/' +str(hero_json[i]['ename'])+'-bigskin-' + str(cnt+1) +'.jpg'
   print(skin_url)
   if not os.path.exists(save_file_name):
    urllib.request.urlretrieve(skin_url, save_file_name)

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

脑电信号要分类

你的鼓励是我创作的前进动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值