day16-requests作业

该代码示例展示了如何利用requests库获取游戏《英雄联盟》的JSON数据,遍历英雄列表,下载每个英雄的所有皮肤图片。首先获取英雄列表,然后针对每个英雄ID发送请求获取皮肤信息,最后根据皮肤名称和路径下载图片。
摘要由CSDN通过智能技术生成

day16-requests

方法1:
import requests

response1 = requests.get('https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js')
res = response1.json()['hero']
for i in res:
    response2 = requests.get(f'https://game.gtimg.cn/images/lol/act/img/js/hero/{i["heroId"]}.js')
    for x in response2.json()['skins']:
        name = x['name']
        path = x['mainImg']
        if path:
            response3 = requests.get(path)
            res = response3.content
            if '/' in name:
                name = name.replace('/', '_')
            with open(f'pic6/{name}.jpg', 'wb') as f:
                f.write(res)
方法2:
import requests

def get_image(image_name, image_path):
    if '/' in image_name:
        image_name = image_name.replace('/', '_')
    img_data = requests.get(image_path)
    with open(f'./pic/{image_name}.jpg', 'wb') as file:
        file.write(img_data.content)

def download_hero_all_skins(hero_id):
    response = requests.get(f'https://game.gtimg.cn/images/lol/act/img/js/hero/{hero_id}.js')
    skins_list = response.json().get('skins', [])
    for skin_info in skins_list:
        image_name = skin_info.get('name')
        image_path = skin_info.get('mainImg')
        if image_path:
            get_image(image_name, image_path)

response1 = requests.get('https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js')
hero_list = response1.json()["hero"]
for hero_info in hero_list:
    hero_id = hero_info.get('heroId')
    hero_name = hero_info.get('name')
    print(hero_name)
    download_hero_all_skins(hero_id)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值