在我的论文中,我试图从API中随机抓取Spotify数据。
我正在寻找美国音乐从特定的年份和类型,这是定义在我的API搜索。
但是,为了进一步扩展我的数据集,我想在API中的搜索中添加随机性,例如添加一个随机通配符(基于本文:Spotify API:获取随机歌曲)。
下面是我的代码,没有通配符:
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错误?
提前谢谢你!
发布于 2021-12-09 16:33:54
几个月前,在开发兰迪之前,我也有过同样的问题,这是一个随机的Spotify播放列表生成器。为了获得随机歌曲,我尝试了多个东西,其中有几个工作正常,在以下几个方面:
https://stackoverflow.com/questions/68006378
复制相似问题