【发布时间】:2021-09-01 11:48:56
【问题描述】:
对于我的论文,我正在尝试从 API 中抓取随机 Spotify 数据。
我正在寻找特定年份和流派的美国音乐,这些在我的 API 搜索中定义。
但是,为了进一步扩展我的数据集,我想在 API 中为我的搜索添加随机性,例如通过添加随机通配符(基于这篇文章:Spotify API: get random songs)。
这是我没有通配符的代码:
for(j in 1:length(YEAR)){
for(h in 1:length(shortlist)){
for (i in 1:100){
temporary_url[i] = paste0("https://api.spotify.com/v1/search?query=",
"year:", YEAR[j], "+", # I'm looking for 2014:2019 tracks
"genre:", shortlist[h], # list of 6 genres that I'm interested in
"&type=", TYPE, # tracks instead of artists
"&market=", MARKET, # US Market
"&limit=", LIMIT, # maximum allowed tracks per request
"&offset=", sample(c(1:999), 1), # create random offset for a little bit randomness
"&include_external=audio")
}
df_url <- c(df_url, temporary_url)
temporary_url <- NA
}
}
到目前为止,我还没有成功添加随机性。一旦我在搜索中使用随机元音添加随机数。当我这样做时,API 返回 404 错误。如果我不这样做,我会收到 200 OK 消息,表明我的搜索成功。
到目前为止,我的方法是存储一个向量(例如 %25a%25'、'a%25'、...)并使用示例函数将其中一个字符串添加到 URL。这在“年份:”之前是我的功能的一部分。这将返回错误。
有人对我如何改进我当前的 API URL 以使其具有随机性而不返回 404 错误有什么建议吗?
非常感谢您!
【问题讨论】: