首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未找到(HTTP 404)在使用“`genius`”包获取歌词时出错

未找到(HTTP 404)在使用“`genius`”包获取歌词时出错
EN

Stack Overflow用户
提问于 2019-08-23 13:28:00
回答 2查看 290关注 0票数 0

我创建了一个数据集,它包含了甲壳虫乐队的所有原创歌曲。我想得到所有歌曲的歌词使用genius软件包。我使用下面的代码获得歌词,但抛出一个错误。

代码语言:javascript
复制
map(beatles_songs$song, ~ genius_lyrics("The Beatles", ., "simple"))
代码语言:javascript
复制
Error in read_xml.response(x$response, ..., as_html = as_html) : 
  Not Found (HTTP 404).
In addition: Warning message:
In request_GET(session, url) : Not Found (HTTP 404).

我认为这可能是因为列表中的歌曲名称与genius.com中的歌曲不匹配,但我不知道如何检查。那么,我该怎么做才能同时得到所有歌曲的歌词呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-08-23 14:43:44

purrr包有一个数字函数,用于处理警告和错误。我建议如下所示,灵感来自这个例子

代码语言:javascript
复制
genius_lyrics_s <- safely(genius::genius_lyrics)

beatles_songs <- tibble(song = c("Mr. Moonlight", "She Loves You", "Under my Thumb", "Octopus's Garden"))
map(beatles_songs$song, ~ genius_lyrics_s("The Beatles", ., "simple")) %>% 
map("result") %>%
  compact()
票数 0
EN

Stack Overflow用户

发布于 2019-09-24 12:20:25

在您的例子中,获得歌曲结果的最好方法是使用add_genius()

代码语言:javascript
复制
beatles %>%
  add_genius("The Beatles", song)

由于这个原因,天才包具有possible_lyrics()possible_album()的功能。下次试试吧!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57627364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档