我是R的新手,目前正在从事有关网页抓取的工作。
我应该阅读以下网页上的所有句子:https://www.cs.columbia.edu/~hgs/audio/harvard.html
这是我当前的代码:
library(xml2)
library(rvest)
url <- 'https://www.cs.columbia.edu/~hgs/audio/harvard.html'
read_html(url)
sentences <- url %>%
html_nodes("li") %>%
html_text()
每次运行它时,都会出现此错误:
UseMethod(“ xml_find_all”)中的错误:没有适用于 “ xml_find_all”应用于“字符”类的对象
能帮我吗?我不明白我在做什么错。
答案 0 :(得分:0)
您忘记为url
分配一个变量(我想它原本是相同的read_html(url)
)。因此,url %>% html_nodes("li")
正在读取“字符串”而不是“ xml_document”,这就是错误告诉您的内容(内部,rvest::html_nodes
调用了函数xml2::xml_find_all
)。
您可以这样做:
html <- read_html(url)
sentences <- html%>%
html_nodes("li") %>%
html_text()
或者,如果您只阅读一次url
sentences <- read_html(url) %>%
html_nodes("li") %>%
html_text()