瞎折腾!小白30分钟用Trae CN实现“Python批量抓取王者荣耀皮肤的图片“

267 阅读2分钟

一、引言

最近在掘金社区,Trae 的强大与卓越可谓是有口皆碑,大家纷纷称赞其能力非凡。这不禁勾起了我的好奇心,于是我决定一探究竟,看看 Trae 是否真如众人所言那般出类拔萃 。

二、Trae实现需求

1.实现“Python批量抓取王者荣耀皮肤的图片”

很好奇,Trae怎么知道王者荣耀皮肤的接口 image.png 下面是wzry_skin_spider.py文件

import requests
import os
from bs4 import BeautifulSoup

# 定义请求头,模拟浏览器访问
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}

# 获取英雄列表
def get_hero_list():
    url = 'https://pvp.qq.com/web201605/js/herolist.json'
    response = requests.get(url, headers=headers)
    hero_list = response.json()
    return hero_list

# 获取英雄皮肤图片
def download_skins(hero):
    ename = hero['ename']
    cname = hero['cname']
    try:
        skins = hero['skin_name'].split('|')
    except KeyError:
        return

    # 创建英雄文件夹
    hero_dir = os.path.join('skins', cname)
    if not os.path.exists(hero_dir):
        os.makedirs(hero_dir)

    # 下载每个皮肤图片
    for i in range(1, len(skins) + 1):
        skin_url = f'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{ename}/{ename}-bigskin-{i}.jpg'
        skin_name = skins[i - 1]
        save_path = os.path.join(hero_dir, f'{skin_name}.jpg')

        try:
            response = requests.get(skin_url, headers=headers)
            if response.status_code == 200:
                with open(save_path, 'wb') as f:
                    f.write(response.content)
                print(f'成功下载 {cname} - {skin_name}')
            else:
                print(f'下载失败 {cname} - {skin_name}: {response.status_code}')
        except Exception as e:
            print(f'下载出错 {cname} - {skin_name}: {str(e)}')

if __name__ == '__main__':
    hero_list = get_hero_list()
    for hero in hero_list:
        download_skins(hero)

下面是requirements.txt

requests==2.31.0
beautifulsoup4==4.13.3

image.png

2.怎么运行

试了,提示报错,python没安装 image.png

image.png

image.png

按照AI提出的解决方法安装Python,然后在命令提示符的D:\Trae CN Project执行python -m pip install -r requirements.txt && python wzry_skin_spider.py

image.png

image.png

image.png

image.png

三、总结

身为一名从未涉足 Python 领域的编程小白,借助 Trae CN 竟能轻松实现一个小小的需求,这着实为我带来了不少乐趣。由此我不禁猜想,这般便捷的操作,或许其他 AI 工具同样能够实现 。