迪斯科 API => 如何检索流派?



我已经抓取了丹麦国家广播电台P3播放的36.000首歌曲的曲目列表。我想统计一下这段时间内每种流派的播放频率,所以我认为API唱片公司可能有助于用流派来标记每首曲目。然而,API的文档似乎没有包含查询特定歌曲流派的示例。

我有一个CSV文件,有3列:艺术家,标题和amp;测试(测试我想让API为每首歌贴上流派标签的地方)。

以下是我迄今为止构建的脚本示例:

import json
import pandas as pd
import requests
import discogs_client
d = discogs_client.Client('ExampleApplication/0.1')
d.set_consumer_key('key-here', 'secret-here')
input = pd.read_csv('Desktop/TEST.csv', encoding='utf-8',error_bad_lines=False)
df = input[['Artist', 'Title', 'Test']]
df.columns = ['Artist', 'Title','Test']
for i in range(0, len(list(df.Artist))):
x = df.Artist[i]
g = d.artist(x)
df.Test[i] = str(g)
df.to_csv('Desktop/TEST2.csv', encoding='utf-8', index=False)

到目前为止,这个脚本一直在处理一个包含3条记录的伪文件,用于映射给定ID#的艺术家。但一旦文件变大(例如2000),当它找不到艺术家时,就会返回HTTPerror。

我对这种方法有一些疑问:

1) 您是否建议使用API中的搜索查询函数来检索变量"Genre"。或者你认为有可能用"d"来检索Genre吗API的函数?

2) 我是否需要获取API-key?到目前为止,我已经成功地映射了3条没有API-key的记录。看起来钥匙是免费的。

以下是我一直遵循的指南:https://github.com/discogs/discogs_client

以下是API的文档:https://www.discogs.com/developers/#page:home,标题:主页快速启动

也许你需要重新阅读discogs_client示例,我自己不是专家,而是一个尝试使用这个API的新手。

AFAIK,g=d.artist(x)失败,因为x必须是整数而不是字符串。

所以你必须首先进行搜索,然后获得艺术家id,然后是d.artist(artist_id)

很抱歉没有提供示例,我现在是python新手;)

你也检查过的声音了吗

这可能是一个费率限制。读取响应的状态代码,你应该会发现一个429 Too Many Requests

不幸的是,如果是这样的话,唯一的解决方案就是在代码中添加睡眠,以每秒发出一个请求。

签出api文档:http://www.discogs.com/developers/#page:home,标头:本地速率限制

我找到了这个指南:

https://github.com/neutralino1/discogs_client.

使用您的密钥访问api,然后尝试以下操作:

d = discogs_client.Client('something.py', user_token=auth_token)
release = d.release(774004)
genre = release.genres

如果你找到了更好的解决方案,请分享。

相关内容

  • 没有找到相关文章

最新更新