将 rvest 管道应用于数据框

Applying rvest pipes to a dataframe

我有一个名为 base_table 的数据框,其中包含大量 311 数据和 URLs,指向每个呼叫的更广泛描述。

我正在尝试创建一个名为 case_desc 的新变量,每个变量都有一系列 rvest 函数 URL。

base_table$case_desc <- 
                      read_html(base_table$case_url) %>%
                           html_nodes("rc_descrlong") %>%
                           html_text()

但这行不通,因为我想我现在无法找到明显的原因。我试过使用函数,但似乎无法确定正确的格式。

任何帮助都会很棒!谢谢!

它不起作用,因为 read_html 不适用于 URL 向量。如果你给它一个向量,它会抛出一个错误...

> read_html(c("http://www.google.com", "http://www.yahoo.com")) Error: expecting a single value

您可能必须使用 apply 函数...

library("rvest")
base_table$case_desc <- sapply(base_table$case_url, function(x)
                          read_html(x) %>%
                            html_nodes("rc_descrlong") %>%
                            html_text())