Я знаю, как найти все узлы, у которых нет дочернего узла:
library(rvest)
library(magrittr)
doc <- "https://www.r-bloggers.com/" %>% GET %>% content
leafes <- doc %>% html_nodes(xpath = "//*[not(descendant::*)]")
length(leafes)
Теперь я пробую то же самое с узлов, которые не являются узлом root:
doc <- "https://www.r-bloggers.com/" %>% GET %>% content
tags <- doc %>% html_nodes(xpath = "/html/body/div/div/div/div/h2/a")
nonRootNodeWithChildr <- tags %>% html_nodes(xpath = "..") %>% html_nodes(xpath = "..")
nonRootNodeWithChildr %>% html_nodes(xpath = "*[not(descendant::*)]")
Я предполагаю, что мне нужно go для *[]
вместо //*
, чтобы не начинать с документа root, однако, "//" убедил бы, что я могу go и для детей Grand ++.