【问题标题】:Accessing Spoitify API with Rspotify to obtain genre information for multiple artisrts使用 Spotify 访问 Spotify API 以获取多个艺术家的流派信息
【发布时间】:2018-04-18 16:15:13
【问题描述】:

我在 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 上没有匹配的艺术家我会有一个空条目“”

相反,返回的是一个列表,并且条目中填充了流派,并且在检查时这些流派是正确的,并且有 "" 没有匹配但是,从 [73] 病房发生了一些奇怪的事情(我有超过 3,000 位艺术家),列表现在只返回“”。 尽管我实际上手动使用 searchArtist() 进行了调查,但仍有匹配项。

不知道有没有人有过这样的建议或者经历过这样的事情?

【问题讨论】:

  • 每分钟可以通过 API 发出的请求数量是否有限制或类似的东西。如果是这样的话,在厕所内增加一点延迟可能会有所帮助。
  • @Dason 这正是问题所在!非常感谢

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


【解决方案1】:

您在一分钟内可以发出的请求数可能存在速率限制,而您可能刚刚达到该限制。在循环中添加 Sys.sleep() 的小延迟,以防止您太用力地访问他们的 API 而无法被限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 2018-05-11
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多