【发布时间】:2019-08-27 11:23:12
【问题描述】:
我是 R 初学者,我正在尝试编写一个函数来从网站上抓取某个歌手的所有歌词,并返回一个带有歌词和歌曲名称的小标题。我已经设法获得了所有歌曲的链接,但我一直在尝试编写一个函数来实际获取歌词。
有问题的网站是:https://www.letras.mus.br/belchior/44457/
歌曲名称选择器:#js-lyric-cnt > article > div.cnt-head.cnt-head--l > div.cnt-head_title > h1
歌词选择器:#js-lyric-cnt > article > div.cnt-letra-trad.g-pr.g-sp > div.cnt-letra.p402_premium
我写了这个函数:
get_lyrics <- function(url){
url %>% read_html() %>%
um <- html_nodes('#js-lyric-cnt > article > div.cnt-letra-trad.g-pr.g-sp > div.cnt-letra.p402_premium')
um %>%
lyrics <- html_text()
url %>% read_html() %>%
dois <- html_nodes('#js-lyric-cnt > article > div.cnt-head.cnt-head--l > div.cnt-head_title > h1')
dois %>%
title <- html_text()
data_frame(title, lyrics)
}
但是当我尝试运行时,我得到:
get_lyrics('https://www.letras.mus.br/belchior/1391391/')
Error in UseMethod("xml_find_all") :
no applicable method for 'xml_find_all' applied to an object of class "character"
我不确定我能做些什么来解决它,所以我很感激你的帮助。
【问题讨论】:
标签: r xml web-scraping rstudio rvest