Last.fm 顶级艺术家 Api

问题描述

  @commands.command()
  async def np(self,ctx):
        async with aiohttp.ClientSession() as session:
            params= {"api_key" : "censored","user" : "ssj4abd","period" : "overall","limit" : 10,"method":"user.getTopArtists","format":"json"}
            async with session.get(url="http://ws.audioscrobbler.com/2.0",params=params) as response:
                resp = await response.read()
                print(resp)

我这样做是为了检索用户的顶级(第一)艺术家,回复很长,您可以找到here。如何从所有这些乱七八糟的东西中仅检索/获取 "rank" : 1 艺术家?

解决方法

您正在请求 JSON 响应

"格式":"json"}

这就是你得到的。要将其加载到字典中,请使用 json

import json
jsonData = json.loads(resp)

现在,您可以通过以下方式获取第一位艺术家的字典

topArtist = jsonData["topartists"]["artist"][0]

从那里,您可以检索所有信息,例如网址

topArtistUrl = topArtist["url"]

import json
@commands.command()
  async def np(self,ctx):
        async with aiohttp.ClientSession() as session:
            params= {"api_key" : "censored","user" : "ssj4abd","period" : "overall","limit" : 10,"method":"user.getTopArtists","format":"json"}
            async with session.get(url="http://ws.audioscrobbler.com/2.0",params=params) as response:
                resp = await response.read()
                jsonData = json.loads(resp)
                topArtist = jsonData["topartists"]["artist"][0]
                topArtistUrl = topArtist["url"]