Discogs API=>如何检索流派?

2024-05-18 06:52:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经收集了一个包含36000首歌曲的曲目列表,这些歌曲都是在丹麦国家广播电台P3播放的。我想统计一下这段时间内每种流派的播放频率,所以我认为discogs API可能有助于用流派标记每个曲目。然而,API doesent的文档似乎包含了一个查询特定歌曲流派的示例。在

我有一个CSV文件与3列:艺术家,标题和测试(测试,我希望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中的搜索查询函数将变量作为“流派”检索。或者你认为有可能从API中用'd'函数检索Genre吗?在

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

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

下面是API的文档: https://www.discogs.com/developers/#page:home,header:home-quickstart


Tags: 文件csv标记testimportclientapidf
2条回答

也许你需要重新阅读discogs_客户端的例子,我不是一个专家,而是一个尝试使用这个API的新手。在

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

所以你必须先做一个搜索,然后得到艺术家id,然后d.artist(艺术家_id)

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

你也检查过声学ID

这可能是一个利率限制。 读了你的回复状态码,你应该会发现429个请求太多了

不幸的是,如果是这种情况,唯一的解决方案就是在代码中添加一个sleep,以便每秒发出一个请求。在

检查api文档: http://www.discogs.com/developers/#page:home,header:home-rate-limiting

相关问题 更多 >