responses
中的 pyen
,一个用于音乐数据的精简库,以这种方式返回字典:
{u'id': u'AR6SPRZ1187FB4958B', u'name': u'Wilco'}
我循环并打印艺术家:
response = en.get('artist/search', artist_location='Chicago')
artists = response['artists']
for artist in artists:
sys.stdout.write("song by {}\n".format(artist['name']))
但我想在此处传递ids
列表:
response = en.get('song/search', artist_ids = ?) //pass a list here?
for song in response['songs']:
sys.stdout.write("\t{}\n".format(song['title']))
这可能吗?怎么样?
答案 0 :(得分:3)
pyen
是一个非常薄的包装器,您应该始终直接检查EchoNest API文档。根据{{3}},song/search
端点不接受多个artist_id
。
答案 1 :(得分:2)
如果您查看Echo Nest API,您会发现artist_id搜索的歌曲并不支持多个参数。
因此,这也是对pyen的限制,也是该API的消费者。
相反,您必须在一系列请求中打印歌曲:
artist_ids = ['AR54RGR1187FB51D10', 'AR6SPRZ1187FB4958B', 'AR5KAA01187FB5AEB7']
for artist_id in artist_ids:
for song in en.get('song/search', artist_id=artist_id).get('songs', []):
sys.stdout.write("\t{}\n".format(song['title']))