У меня есть столбец, содержащий один столбец, в котором хранятся гиперссылки в каждом столбце. Теперь я хочу отобразить эти ссылки с помощью map_dfr, передавая ссылки одну за другой через read_html(.x[.x]) %>%
html_node(".body-copy-lg") %>% html_text
. Если я так делаю, я всегда получаю сообщение об ошибке:
Ошибка в файле_doc_parse_file (con, encoding = encoding, as_ html = as_ html, options = options): Ожидается одно строковое значение: [тип = символ; ext = 3].
Что говорит мне, что read_ html в основном говорит: «Эй, прекрати бросать на меня более одной строки одновременно».
Так я сделал ошибку в картографе? Это ошибка? Я действительно не понимаю, почему mapper-функция не захватывает каждый элемент один за другим.
То, что я до сих пор пробовал:
target_regex <- "(xtm)|((k|K)(i|I|1|11)(d|D)(n|N).)|(Ar<e)\\s(you)\\s(in)|
(LOAN)|(AR(\\s|\\S)[0-9])|((B|b)(i|1|l)tc.)|(Coupon)|(Plastic.King)|(organs)|(SILI)|(Electric.Cigarette.Machine)"
adverts <- function(df) df[!grepl(target_regex, df$...1,perl = T), ]
bribe <- read_html(paste("http://ipaidabribe.com/reports/paid?page", 10, sep = "="))
report <- map(".read-more", ~html_nodes(bribe, .x) %>%
html_attr(.x[[1]][[1]][[1]], name = "href"))[[1]] %>%
as_tibble(.name_repair = "unique") %>%
bind_rows() %>%
rename( ...1 = value) %>%
adverts() %>%
map_dfr(~read_html(.x[.x]) %>%
html_node(".body-copy-lg") %>%
html_text)
Не обращайте внимания на вызов rename()
, который, по сути, является чем-то, что необходимо сделать, чтобы adverts
можно было использовать в этом случае.