Вам нужны следующие три xpath:
xpath1 <- "//td[table[./thead/tr/th/text() = 'stdev']]/preceding-sibling::th"
xpath2 <- "//td[table[./thead/tr/th/text() = 'answers']]/preceding-sibling::th"
xpath3 <- "//td[table[./thead/tr/th/text() = 'Reference']]/preceding-sibling::th"
Они находят узел td
, который находится в root каждого из трех типов таблиц, а затем находят предшествующего th
брата с помощью текст, который вы хотите.
Итак, чтобы получить "text_that_I_want_to_get" для типа таблицы 1, вы выполните:
read_html(url) %>% html_nodes(xpath = xpath1) %>% html_text()
#> [1] "text_that_I_want_to_get"
И вы можете сделать то же самое с xpath2
и xpath3
, чтобы получить текст из таблицы типа 2 и таблицы типа 3.