使用Rspotify访问Spoitify API以获取多个艺术家的流派信息

时间:2018-04-18 16:15:13

标签: r for-loop user-defined-functions spotify

我在Windows 10机器上使用RStudio 3.4.4。

我有一个艺术家名字的矢量,我正试图在spotify上获得所有类型信息。我已成功设置API,RSpotify包正在按预期工作。

我正在努力建立一个功能,但我很早就失败了。

到目前为止,我有以下内容,但它会返回意外结果

    len <- nrow(Artist_Nam)
    artist_info <- character(artist)      

  for(i in 1:len){
ifelse(nrow(searchArtist(Artist_Nam$ArtistName[i], token = keys))>=1,       
  artist_info[i] <- searchArtist(Artist_Nam$ArtistName[i], token = keys)$genres[1],
  artist_info[i] <- "")

    }
    artist_info

我期待这会返回一个类型列表,而且在spotify上没有匹配的艺术家我会有一个空的条目&#34;&#34;

相反,返回的是一个列表,条目填充了类型,并且在检查时这些类型是正确的,并且有#34;&#34;然而,在没有匹配的地方,[73]在病房(我有超过3,000名艺术家)发生了奇怪的事情,现在这个列表只返回&#34;&#34;。 尽管我实际上使用searchArtist()手动调查这里有匹配。

我想知道是否有人有任何建议或曾经历过这样的事情?

1 个答案:

答案 0 :(得分:0)

There may be a rate limit to the number of requests you can make a minute and you may just be hitting that limit. Adding a small delay with Sys.sleep() within your loop to prevent you from hitting their API too hard to be throttled.