Я пытаюсь извлечь немного информации из узла /html/head/script[16] с веб-сайта ( здесь ), но не могу этого сделать.
/html/head/script[16]
nykaa <- "https://www.nykaa.com/biotique-bio-kelp-protein-shampoo-for-falling-hair-intensive-hair-growth-treatment-conf/p/357142?categoryId=1292&productId=357142&ptype=product&skuId=39934" obj <- read_html(nykaa) extracted_json <- obj %>% html_nodes(xpath = "/html/head/script[16]") %>% html_text(trim = TRUE)
В настоящее время мой вывод для приведенного выше кода является нулевым. Но я хотел бы извлечь данные из вышеупомянутого узла организованным способом.
Вы можете использовать регулярное выражение, чтобы получить объект javascript внутри этого тега сценария, а затем перейти к jsonlite и анализировать. Вам нужно немного поболтать, чтобы получить то, что вы хотите от этого, но все это есть
library(rvest) library(magrittr) library(stringr) library(jsonlite) p <- read_html('https://www.nykaa.com/biotique-bio-kelp-protein-shampoo-for-falling-hair-intensive-hair-growth-treatment-conf/p/357142?categoryId=1292&productId=357142&ptype=product&skuId=39934') %>% html_text() all_data <- jsonlite::parse_json(str_match_all(p,'window\\.__PRELOADED_STATE__ = (.*)')[[1]][,2])