Я хочу проанализировать этот HTML: и получить из него следующие элементы:
а) тег p
с class: "normal_encontrado"
.
б) div
с class: "price"
.
Иногда тег p
отсутствует в некоторых продуктах. В этом случае к вектору, собирающему текст из этих узлов, следует добавить NA
.
Идея состоит в том, чтобы иметь 2 вектора одинаковой длины и после их соединения образовать data.frame
. Любые идеи?
Часть HTML:
<html>
<head></head>
<body>
<div class="product_price" id="product_price_186251">
<p class="normal_encontrado">
S/. 2,799.00
</p>
<div id="WC_CatalogEntryDBThumbnailDisplayJSPF_10461_div_10" class="price">
S/. 2,299.00
</div>
</div>
<div class="product_price" id="product_price_232046">
<div id="WC_CatalogEntryDBThumbnailDisplayJSPF_10461_div_10" class="price">
S/. 4,999.00
</div>
</div>
</body>
</html>
Код R:
library(rvest)
page_source <- read_html("r.html")
r.precio.antes <- page_source %>%
html_nodes(".normal_encontrado") %>%
html_text()
r.precio.actual <- page_source %>%
html_nodes(".price") %>%
html_text()