30行代码爬取英雄联盟端游英雄皮肤图片

源码在底下

端游网页链接 :英雄联盟全新官方网站-腾讯游戏

1、点击资料库

2、按F12进入开发者模式并刷新,在搜索框里输入js回车

找到hero_list.js,这个里面存储着所有的英雄信息

 点击hero_list.js,在preview里面就能看到储存的信息

3 、随机点一个英雄进去,在这里我选择的是安妮

然后按F12进入开发者模式并刷新

4、在搜索框里输入js并找到标注的地方

 点击进去,我们就可以发现安妮的所有皮肤信息都存储在skins里面

 通过测试我们发现皮肤的大图在mainimg里面

 5、整理思路

        先看一下1.js的网页链接,我们多看几个英雄就可以发现这个链接构成只有hero/后的数字不同,剩下的全部都是相同的,通过对比hero_list.js,我们就可以发现这个数字就是hero_list里面的heroId。

        因此,我们先通过hero_list.js提取出所有英雄的heroid以及name,然后通过添加heroid构成每个英雄储存皮肤信息的链接,再提取出所有的图片

 6、源代码

import requests
import os
import json

url = "https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js?ts=2755589"
response = requests.get(url).text
#将获取到的网页信息转化为json格式
html = json.loads(response)
listHero = html['hero']

#计数器
sum = 0
#提取信息
for i in listHero:
    heroNumber = i['heroId']
    heroName = i['name']

    #一个英雄创建一个文件夹
    h = "F:\\lolComputer_img\\"+heroName+r"\\"
    if not os.path.exists(h):
        os.makedirs(h)

    #构建每个英雄的皮肤图片链接
    imgText = "https://game.gtimg.cn/images/lol/act/img/js/hero/"+heroNumber+".js?ts=2755591"
    imgResponse = requests.get(imgText).text
    #转化为json格式
    imgHtml = json.loads(imgResponse)
    img_url = imgHtml['skins']
    #提取信息
    for i in img_url:
        '''
            皮肤的大图储存在mainImg中,但是有的炫彩皮肤并没有大图,而是小图标的形式存在的。
            所以需要判断mainImg是否是空的。如果是则跳过
        '''
        if i['mainImg'] != "":
            img = requests.get(i['mainImg']).content
            #将图片写入文件夹中
            with open(h+i['name'].replace("/","")+'.jpg','wb') as f:
                f.write(img)
                #计数
                sum = sum+1
                print(sum,i['name'],"下载成功!")
        else:
            pass
print("下载完成!")

7、成果

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

菜鸟->cpp

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值