【发布时间】:2015-07-11 19:29:02
【问题描述】:
我已经抓取了包含 36.000 首歌曲的曲目列表,这些歌曲已在丹麦国家广播电台 P3 上播放。我想统计一下这段时间内每种流派的播放频率,所以我认为 discogs API 可能有助于用流派标记每首曲目。但是,API 的文档似乎没有包含查询特定歌曲流派的示例。
我有一个包含 3 列的 CSV 文件:艺术家、标题和测试(测试我希望 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),它就会在找不到艺术家时返回 HTTP 错误。
我对这种方法有一些疑问:
1) 您是否建议使用 API 中的搜索查询功能来检索变量为“流派”。或者您认为可以使用“d”检索流派。 API 中的函数?
2) 我需要获取 API 密钥吗?到目前为止,我已经成功映射了没有 API 密钥的 3 条记录。不过看起来钥匙是免费的。
这是我一直关注的指南: https://github.com/discogs/discogs_client
这里是 API 的文档: https://www.discogs.com/developers/#page:home,header:home-quickstart
【问题讨论】:
标签: python csv python-requests api-key discogs-api