Python 如何从steam api获取统计数据

Python 如何从steam api获取统计数据,python,api,discord.py,steam,Python,Api,Discord.py,Steam,我使用json文件中的steam api获取csgo统计数据,我不知道如何获取例如死亡人数或其他信息 我试着 但这不起作用。我明白了 {"playerstats":{"steamID":"76561198875082603","gameName":"ValveTestApp260","stats":[{"name":"total_kills&quo

我使用json文件中的steam api获取csgo统计数据,我不知道如何获取例如死亡人数或其他信息 我试着

但这不起作用。我明白了

{"playerstats":{"steamID":"76561198875082603","gameName":"ValveTestApp260","stats":[{"name":"total_kills","value":18792},{"name":"total_deaths","value":6690},{"name":"total_time_played","value":378826},{"name":"total_planted_bombs","value":389},{"name":"total_defused_bombs","value":79},{"name":"total_wins","value":3059},{"name":"total_damage_done","value":3066987},{"name":"total_money_earned","value":18600200},{"name":"total_kills_knife","value":147},{"name":"total_kills_hegrenade","value":52},{"name":"total_kills_glock","value":173},{"name":"total_kills_deagle","value":524},{"name":"total_kills_elite","value":76},{"name":"total_kills_fiveseven","value":1},{"name":"total_kills_xm1014","value":200},{"name":"total_kills_mac10","value":17},{"name":"total_kills_ump45","value":257},{"name":"total_kills_p90","value":506},{"name":"total_kills_awp","value":878},{"name":"total_kills_ak47","value":1201},{"name":"total_kills_aug","value":261},{"name":"total_kills_famas","value":108},{"name":"total_kills_g3sg1","value":17},{"name":"total_kills_m249","value":5},{"name":"total_kills_headshot","value":5715},{"name":"total_kills_enemy_weapon","value":490},{"name":"total_wins_pistolround","value":326},{"name":"total_wins_map_cs_office","value":12},{"name":"total_wins_map_de_cbble","value":2},{"name":"total_wins_map_de_dust2","value":169},{"name":"total_wins_map_de_inferno","value":533},{"name":"total_wins_map_de_nuke","value":10},{"name":"total_wins_map_de_train","value":5},{"name":"total_weapons_donated","value":339},{"name":"total_kills_enemy_blinded","value":111},{"name":"total_kills_knife_fight","value":52},{"name":"total_kills_against_zoomed_sniper","value":660},{"name":"total_dominations","value":50},{"name":"total_domination_overkills","value":29},{"name":"total_revenges","value":23},{"name":"total_shots_hit","value":35674},{"name":"total_shots_fired","value":133850},{"name":"total_rounds_played","value":6226},{"name":"total_shots_deagle","value":5220},{"name":"total_shots_glock","value":5190},{"name":"total_shots_elite","value":1656},{"name":"total_shots_fiveseven","value":460},{"name":"total_shots_awp","value":3241},{"name":"total_shots_ak47","value":23181},{"name":"total_shots_aug","value":3712},{"name":"total_shots_famas","value":1128},{"name":"total_shots_g3sg1","value":109},{"name":"total_shots_p90","value":5920},{"name":"total_shots_mac10","value":830},{"name":"total_shots_ump45","value":2984},{"name":"total_shots_xm1014","value":4060},{"name":"total_shots_m249","value":218},{"name":"total_hits_deagle","value":1301},{"name":"total_hits_glock","value":1241},{"name":"total_hits_elite","value":348},{"name":"total_hits_fiveseven","value":60},{"name":"total_hits_awp","value":1009},{"name":"total_hits_ak47","value":4190},{"name":"total_hits_aug","value":954},{"name":"total_hits_famas","value":430},{"name":"total_hits_g3sg1","value":30},{"name":"total_hits_p90","value":2552},{"name":"total_hits_mac10","value":151},{"name":"total_hits_ump45","value":1160},{"name":"total_hits_xm1014","value":1331},{"name":"total_hits_m249","value":20},{"name":"total_rounds_map_cs_office","value":21},{"name":"total_rounds_map_de_cbble","value":20},{"name":"total_rounds_map_de_dust2","value":419},{"name":"total_rounds_map_de_inferno","value":1124},{"name":"total_rounds_map_de_nuke","value":29},{"name":"total_rounds_map_de_train","value":7},{"name":"last_match_t_wins","value":0},{"name":"last_match_ct_wins","value":2},{"name":"last_match_wins","value":2},{"name":"last_match_max_players","value":11},{"name":"last_match_kills","value":4},{"name":"last_match_deaths","value":3},{"name":"last_match_mvps","value":0},{"name":"last_match_favweapon_id","value":9},{"name":"last_match_favweapon_shots","value":4},{"name":"last_match_favweapon_hits","value":2},{"name":"last_match_favweapon_kills","value":2},{"name":"last_match_damage","value":506},{"name":"last_match_money_spent","value":12650},{"name":"last_match_dominations","value":0},{"name":"last_match_revenges","value":0},{"name":"total_mvps","value":1122},{"name":"total_rounds_map_de_lake","value":1824},{"name":"total_rounds_map_de_safehouse","value":3},{"name":"total_rounds_map_de_sugarcane","value":6},{"name":"total_rounds_map_de_stmarc","value":8},{"name":"total_TR_planted_bombs","value":1},{"name":"total_gun_game_rounds_won","value":27},{"name":"total_gun_game_rounds_played","value":55},{"name":"total_wins_map_de_vertigo","value":3},{"name":"total_rounds_map_ar_shoots","value":4},{"name":"total_rounds_map_ar_baggage","value":1},{"name":"total_wins_map_ar_shoots","value":2},{"name":"total_wins_map_de_lake","value":991},{"name":"total_wins_map_de_sugarcane","value":6},{"name":"total_wins_map_de_stmarc","value":1},{"name":"total_matches_won","value":150},{"name":"total_matches_played","value":433},{"name":"total_gg_matches_won","value":1},{"name":"total_gg_matches_played","value":51},{"name":"total_trbomb_matches_won","value":1},{"name":"total_contribution_score","value":46566},{"name":"last_match_contribution_score","value":4},{"name":"last_match_rounds","value":2},{"name":"total_kills_hkp2000","value":406},{"name":"total_shots_hkp2000","value":7784},{"name":"total_hits_hkp2000","value":1770},{"name":"total_hits_p250","value":1081},{"name":"total_kills_p250","value":302},{"name":"total_shots_p250","value":5388},{"name":"total_kills_sg556","value":269},{"name":"total_shots_sg556","value":5536},{"name":"total_hits_sg556","value":1059},{"name":"total_hits_scar20","value":26871},{"name":"total_kills_scar20","value":11524},{"name":"total_shots_scar20","value":14268},{"name":"total_shots_ssg08","value":1966},{"name":"total_hits_ssg08","value":576},{"name":"total_kills_ssg08","value":241},{"name":"total_shots_mp7","value":5133},{"name":"total_hits_mp7","value":1092},{"name":"total_kills_mp7","value":151},{"name":"total_kills_mp9","value":23},{"name":"total_shots_mp9","value":1120},{"name":"total_hits_mp9","value":177},{"name":"total_hits_nova","value":471},{"name":"total_kills_nova","value":61},{"name":"total_shots_nova","value":2374},{"name":"total_hits_negev","value":96},{"name":"total_kills_negev","value":27},{"name":"total_shots_negev","value":1025},{"name":"total_shots_sawedoff","value":424},{"name":"total_hits_sawedoff","value":55},{"name":"total_kills_sawedoff","value":6},{"name":"total_shots_bizon","value":5167},{"name":"total_hits_bizon","value":1002},{"name":"total_kills_bizon","value":139},{"name":"total_kills_tec9","value":14},{"name":"total_shots_tec9","value":537},{"name":"total_hits_tec9","value":90},{"name":"total_shots_mag7","value":816},{"name":"total_hits_mag7","value":179},{"name":"total_kills_mag7","value":21},{"name":"total_gun_game_contribution_score","value":245},{"name":"last_match_gg_contribution_score","value":0},{"name":"total_kills_m4a1","value":1101},{"name":"total_kills_galilar","value":50},{"name":"total_kills_molotov","value":22},{"name":"total_kills_taser","value":12},{"name":"total_shots_m4a1","value":23209},{"name":"total_shots_galilar","value":1165},{"name":"total_shots_taser","value":29},{"name":"total_hits_m4a1","value":4478},{"name":"total_hits_galilar","value":194},{"name":"total_rounds_map_de_vertigo","value":12},{"name":"total_matches_won_lake","value":66},{"name":"total_matches_won_sugarcane","value":1},{"name":"GI.lesson.csgo_instr_explain_buymenu","value":16},{"name":"GI.lesson.csgo_instr_explain_buyarmor","value":0},{"name":"GI.lesson.csgo_instr_explain_plant_bomb","value":0},{"name":"GI.lesson.csgo_instr_explain_bomb_carrier","value":0},{"name":"GI.lesson.bomb_sites_A","value":0},{"name":"GI.lesson.csgo_instr_explain_follow_bomber","value":0},{"name":"GI.lesson.csgo_instr_explain_pickup_bomb","value":0},{"name":"GI.lesson.csgo_instr_explain_prevent_bomb_pickup","value":0},{"name":"GI.lesson.Csgo_cycle_weapons_kb","value":0},{"name":"GI.lesson.csgo_instr_explain_zoom","value":16},{"name":"GI.lesson.csgo_instr_explain_reload","value":1},{"name":"GI.lesson.tr_explain_plant_bomb","value":0},{"name":"GI.lesson.bomb_sites_B","value":0},{"name":"GI.lesson.version_number","value":16},{"name":"GI.lesson.csgo_hostage_lead_to_hrz","value":0},{"name":"GI.lesson.csgo_instr_rescue_zone","value":0},{"name":"GI.lesson.csgo_instr_explain_inspect","value":32}],"achievements":[{"name":"WIN_BOMB_PLANT","achieved":1},{"name":"BOMB_PLANT_LOW","achieved":1},{"name":"KILL_ENEMY_LOW","achieved":1},{"name":"KILL_ENEMY_MED","achieved":1},{"name":"KILL_ENEMY_HIGH","achieved":1},{"name":"BOMB_DEFUSE_CLOSE_CALL","achieved":1},{"name":"KILL_BOMB_DEFUSER","achieved":1},{"name":"WIN_BOMB_DEFUSE","achieved":1},{"name":"BOMB_PLANT_IN_25_SECONDS","achieved":1},{"name":"WIN_ROUNDS_LOW","achieved":1},{"name":"WIN_ROUNDS_MED","achieved":1},{"name":"GIVE_DAMAGE_LOW","achieved":1},{"name":"GIVE_DAMAGE_MED","achieved":1},{"name":"GIVE_DAMAGE_HIGH","achieved":1},{"name":"KILLING_SPREE","achieved":1},{"name":"KILL_WITH_OWN_GUN","achieved":1},{"name":"KILL_TWO_WITH_ONE_SHOT","achieved":1},{"name":"EARN_MONEY_LOW","achieved":1},{"name":"EARN_MONEY_MED","achieved":1},{"name":"DEAD_GRENADE_KILL","achieved":1},{"name":"KILL_ENEMY_DEAGLE","achieved":1},{"name":"KILL_ENEMY_GLOCK","achieved":1},{"name":"KILL_ENEMY_ELITE","achieved":1},{"name":"KILL_ENEMY_AWP","achieved":1},{"name":"KILL_ENEMY_AK47","achieved":1},{"name":"KILL_ENEMY_M4A1","achieved":1},{"name":"KILL_ENEMY_AUG","achieved":1},{"name":"KILL_ENEMY_FAMAS","achieved":1},{"name":"KILL_ENEMY_P90","achieved":1},{"name":"KILL_ENEMY_UMP45","achieved":1},{"name":"KILL_ENEMY_XM1014","achieved":1},{"name":"KILL_ENEMY_KNIFE","achieved":1},{"name":"KILL_ENEMY_TEAM","achieved":1},{"name":"KILLS_WITH_MULTIPLE_GUNS","achieved":1},{"name":"KILL_HOSTAGE_RESCUER","achieved":1},{"name":"LAST_PLAYER_ALIVE","achieved":1},{"name":"KILL_ENEMY_LAST_BULLET","achieved":1},{"name":"KILLING_SPREE_ENDER","achieved":1},{"name":"HEADSHOTS","achieved":1},{"name":"DAMAGE_NO_KILL","achieved":1},{"name":"KILL_LOW_DAMAGE","achieved":1},{"name":"KILL_ENEMY_RELOADING","achieved":1},{"name":"KILL_ENEMY_BLINDED","achieved":1},{"name":"KILL_ENEMIES_WHILE_BLIND","achieved":1},{"name":"KILLS_ENEMY_WEAPON","achieved":1},{"name":"KILL_WITH_EVERY_WEAPON","achieved":1},{"name":"SURVIVE_GRENADE","achieved":1},{"name":"WIN_KNIFE_FIGHTS_LOW","achieved":1},{"name":"KILLED_DEFUSER_WITH_GRENADE","achieved":1},{"name":"HIP_SHOT","achieved":1},{"name":"KILL_SNIPER_WITH_SNIPER","achieved":1},{"name":"KILL_SNIPER_WITH_KNIFE","achieved":1},{"name":"KILL_SNIPERS","achieved":1},{"name":"KILL_WHEN_AT_LOW_HEALTH","achieved":1},{"name":"PISTOL_ROUND_KNIFE_KILL","achieved":1},{"name":"FAST_ROUND_WIN","achieved":1},{"name":"WIN_PISTOLROUNDS_LOW","achieved":1},{"name":"WIN_PISTOLROUNDS_MED","achieved":1},{"name":"WIN_PISTOLROUNDS_HIGH","achieved":1},{"name":"WIN_BOMB_PLANT_AFTER_RECOVERY","achieved":1},{"name":"LOSSLESS_EXTERMINATION","achieved":1},{"name":"FLAWLESS_VICTORY","achieved":1},{"name":"WIN_DUAL_DUEL","achieved":1},{"name":"UNSTOPPABLE_FORCE","achieved":1},{"name":"IMMOVABLE_OBJECT","achieved":1},{"name":"HEADSHOTS_IN_ROUND","achieved":1},{"name":"WIN_MAP_DE_DUST2","achieved":1},{"name":"WIN_MAP_DE_INFERNO","achieved":1},{"name":"KILL_WHILE_IN_AIR","achieved":1},{"name":"KILL_ENEMY_IN_AIR","achieved":1},{"name":"KILLER_AND_ENEMY_IN_AIR","achieved":1},{"name":"SILENT_WIN","achieved":1},{"name":"BLOODLESS_VICTORY","achieved":1},{"name":"DONATE_WEAPONS","achieved":1},{"name":"DEFUSE_DEFENSE","achieved":1},{"name":"KILL_BOMB_PICKUP","achieved":1},{"name":"DOMINATIONS_LOW","achieved":1},{"name":"DOMINATIONS_HIGH","achieved":1},{"name":"DOMINATION_OVERKILLS_LOW","achieved":1},{"name":"REVENGES_LOW","achieved":1},{"name":"REVENGES_HIGH","achieved":1},{"name":"CONCURRENT_DOMINATIONS","achieved":1},{"name":"KILL_ENEMIES_WHILE_BLIND_HARD","achieved":1},{"name":"CAUSE_FRIENDLY_FIRE_WITH_FLASHBANG","achieved":1},{"name":"AVENGE_FRIEND","achieved":1},{"name":"GUN_GAME_KILL_KNIFER","achieved":1},{"name":"WIN_MAP_DE_LAKE","achieved":1},{"name":"WIN_MAP_DE_SUGARCANE","achieved":1},{"name":"WIN_GUN_GAME_ROUNDS_LOW","achieved":1},{"name":"ONE_SHOT_ONE_KILL","achieved":1},{"name":"BASE_SCAMPER","achieved":1},{"name":"BORN_READY","achieved":1},{"name":"STILL_ALIVE","achieved":1},{"name":"KILL_ENEMY_TASER","achieved":1},{"name":"KILL_ENEMY_HKP2000","achieved":1},{"name":"KILL_ENEMY_P250","achieved":1},{"name":"KILL_ENEMY_SCAR20","achieved":1},{"name":"KILL_ENEMY_SG556","achieved":1},{"name":"KILL_ENEMY_SSG08","achieved":1}]}}

如果您发布的JSON是
csgo.JSON()
,那么您可以这样做以获得总杀死率

csgo_stats = csgo.json()

for stat in csgo_stats["playerstats"]["stats"]:
    if stat["name"] == "total_kills":
        print(stat["value"])

如果您发布的JSON是
csgo.JSON()
,那么您可以这样做以获得总杀死率

csgo_stats = csgo.json()

for stat in csgo_stats["playerstats"]["stats"]:
    if stat["name"] == "total_kills":
        print(stat["value"])


如果在csgo_stats之后删除逗号会发生什么情况?不工作,而且因为我正在编写一个bot,我甚至不知道错误是什么,但该逗号是从另一个正在工作的API代码
res=requests.get(f)中获取的https://osu.ppy.sh/api/get_user?u={(昵称)}&k={osu_token}”)字典,=res.json()#提取字典osu_昵称=字典['username']gioca_da=dictionary['join_date']
您期望的输出是什么,您实际得到的输出是什么?在您和我的情况下,没有任何“csgo1”是空的变量是空的如果在csgo_stats之后删除逗号,会发生什么,不起作用,因为我正在编写一个机器人,我甚至不知道错误是什么,但是这个逗号是从我的另一个工作API代码
res=requests.get(f)中提取的https://osu.ppy.sh/api/get_user?u={(昵称)}&k={osu_token}”)字典,=res.json()#提取字典osu_昵称=字典['username']gioca_da=字典['join_date']
你期望的输出是什么,你实际得到的输出是什么?没有什么'csgo1'是空的,我认为,在你和我的情况下,变量是空的不工作,错误
2020-07-19T00:15:14.381122+00:00应用程序[worker.1]:对于csgo_统计数据中的统计数据[“playerstats”][“stats”]:2020-07-19T00:15:14.381122+00:00应用程序[worker.1]:TypeError:string索引必须是整数
2020-07-19T00:15:14.381241+00:00应用程序[worker.1]:discord.ext.commands.errors.CommandInvokeError:Command引发异常:TypeError:string索引必须是整数
您确定文章中包含的JSON是
csgo.JSON()的输出吗
?这就是我现在拥有的,我做错什么了吗?
@bot.command()异步def csgo(ctx,steamid):csgo=requests.get(f)http://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v2/?appid=730&key={steam_api}&steamid={(steamid)}”)csgo_stats,=csgo.json()用于csgo_stats[“playerstats”][“stats”]:如果stat[“name”]=“total_kills”:wait ctx.send(stat[“value”])
change
csgo_stats,=csgo.json()
to
csgo_stats=csgo.json()
删除csgo_stats末尾的额外逗号。它开始工作,但我如何获得其他统计数据,例如“total_deathers”我现在试着写点东西,2分钟不工作,错误
2020-07-19T00:15:14.381122+00:00应用程序[worker.1]:csgo_stats[“playerstats”][“stats”]:2020-07-19T00:15:14.381122+00:00应用程序[worker.1]:类型错误:字符串索引必须是整数和
2020-07-19T00:15:14.381241+00:00应用程序[worker.1]:discord.ext.commands.errors.CommandInvokeError:Command引发了一个异常:TypeError:string索引必须是整数
您确定文章中包含的JSON是
csgo.JSON()
的输出吗?这就是我现在所拥有的,我做错什么了吗?
@bot.Command()异步def csgo(ctx,steamid):csgo=requests.get(f)http://api.steampowered.com/ISteamUserStats/GetUserStatsForGame/v2/?appid=730&key={steam_api}&steam id={(steam id)})csgo_stats,=csgo.json()用于csgo_stats[“playerstats”][“stats”]:如果stat[“name”]=“total_kills”:等待ctx.send(stat[“value”])
change
csgo_stats,=csgo.json()
to
csgo\u stats=csgo.json()
通过删除csgo\u stats末尾的多余逗号。它开始工作了,但是我如何获得其他统计数据,例如“死亡总数”?我现在就试着写点东西,2分钟