(四)Python中的CSV存储英雄数据

(四)Python中的CSV存储英雄数据

import csv
import requests

#获取所有英雄id,返回列表
def getHeroIdList():
    heroList = requests.get(herolist_url).json()['hero']
    return [ hero['heroId']    for hero in heroList]

#根据英雄id获取详情的方法
def saveHeroInfo():
    for id in heroIdList:
        heroInfo = requests.get(heroinfo_url.format(id)).json()['hero']
        #csv中写入数据
        with open("lol_data.csv",'a',newline='',encoding='utf-8') as file:
            csv.writer(file).writerow(
                [
                    heroInfo['heroId'],heroInfo['name'],heroInfo['alias'],
                    heroInfo['title'],heroInfo['roles'],heroInfo['hp'],
                    heroInfo['mp'],heroInfo['movespeed'],heroInfo['armor'],
                    heroInfo['attackrange'],heroInfo['hpregen'],heroInfo['attackdamage']
                ]
            )
        print("{}下载完成".format(heroInfo['name']))
if __name__ == '__main__':
    #main函数中的变量是全局变量(其他函数可以随意使用)
    herolist_url="https://game.gtimg.cn/images/lol/act/img/js/heroList/hero_list.js"
    heroinfo_url="https://game.gtimg.cn/images/lol/act/img/js/hero/{}.js"
    heroIdList = getHeroIdList()
    with open("lol_data.csv", 'w', newline='', encoding='utf-8') as file:
        csv.writer(file).writerow(
            [
                'id','名称','英文名','标题','角色','血量','蓝量','移速','护甲','攻击范围','生命回复','攻击伤害'
            ]
        )
    #调用获取详情的方法
    saveHeroInfo()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

发光的大猫

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

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

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

打赏作者

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

抵扣说明:

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

余额充值