爬虫day1作业:下载英雄皮肤图片

爬虫day1作业:下载英雄皮肤图片

补充OS模块:

import os
# 创建文件夹 若文件夹已经存在会报错
# os.mkdir('files\test')
# 判断文件是否存在
# os.path.exists('path')

if not os.path.exists('files\test'):
    os.mkdir('files\test')
"""
Author:  yuting 
Create Time: 2023/3/28 09:22
软件: PyCharm
键盘敲烂,月薪过万!
"""
import requests
import os


# 1.获取所有英雄ID
def get_all_hero_id():
    response = requests.get('https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js')
    result = response.json()
    return [x['heroId'] for x in result['hero']]


# 下载皮肤对应的图片
def download(hero_name, skin_name, skin_url):
    # 创建英雄对应的文件夹
    if not os.path.exists(f'files/{hero_name}'):
        os.mkdir(f'files/{hero_name}')

    # 下载图片
    response = requests.get(skin_url)
    with open(f'files/{hero_name}/{skin_name}.jpg', 'wb') as f:
        f.write(response.content)
    print(f'----------{skin_name}下载完成---------------')


# 2. 获取每个英雄的皮肤地址
def get_hero_skin_url(hero_id):
    url = f'https://game.gtimg.cn/images/lol/act/img/js/hero/{hero_id}.js'
    response = requests.get(url)
    for x in response.json()['skins']:
        hero_name = x['heroTitle']
        skin_name = x['name'].replace('/', '')
        skin_url = x['mainImg'] if x['mainImg'] else x['chromaImg']
        download(hero_name, skin_name, skin_url)


if __name__ == '__main__':
    for x in get_all_hero_id():
        get_hero_skin_url(x)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值