Discogs API =>如何检索流派?

时间:2015-05-01 22:02:48

标签: python csv python-requests api-key discogs-api

我已经在丹麦国家广播电台P3上播放了36,000首歌曲的曲目列表。我想对这段时间内每个类型的播放频率做一些统计,所以我认为discogs API可能有助于用流派标记每个音轨。但是,API doesent的文档似乎包含了查询特定歌曲类型的示例。

我有一个包含3列的CSV文件:Artist,Title&测试(测试我希望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'来检索流派。来自API的功能?

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

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

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

2 个答案:

答案 0 :(得分:1)

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

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

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

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

你也检查过acoustid

答案 1 :(得分:0)

我找到了这个指南:

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

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

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

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