2016-05-12 2 views
1

У меня есть dataframe base_table с большим количеством 311 данных и URL-адресов, которые указывают на более широкое описание каждого вызова.Применение rvest-каналов к DataFrame

Я пытаюсь создать новую переменную case_desc с рядом функций rvest каждого URL.

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

Но это не работает, поскольку я предполагаю очевидные причины, по которым я не могу сейчас собраться. Я пробовал играть с функциями, но, похоже, не мог прибить правильный формат.

Любая помощь была бы замечательной! Спасибо!

ответ

2

Это не работает, потому что 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()) 
+0

Это было прекрасно, работал на первой попытки! – michaelcata

Смежные вопросы