RVest: извлечение содержимого тега внутри класса с веб-страницы супермаркета - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь избавиться от сети с помощью Rvest, но я застрял и не могу найти решение. Мне удалось успешно загрузить страницу в R и извлечь часть HTML, которую я хочу, но я не могу получить нужные данные.

Часть HTML (не настоящий URL), которую я хочу выбросить, это:

<a class="open-modal" data-id="53357" href="http://www.website.com.ar/product_1.html">
<img id="prod-image-53357" src="https://www.website.com.ar/media/98989898.jpg"
                           alt="insecticide 360 cc" />
</a>

Мой код:

library("rvest")
library("xml2")

url <- "https://www.website.com.ar/limpieza.html"
page <- read_html(url)
d <-page %>% html_nodes(" .open-modal")

если я проверяю объект d, например d [[4]], я получаю:

{html_node}
<a class="open-modal" data-id="53357" href="https://www.website.com.ar/product_1.html">
[1] <img id="prod-image-53357" src="https://www.website.com.ar/media/98989898.jpg
alt="insecticide 360 cc" />

И я хочу извлечь href, alt и sr c как текст и преобразовать их как фрейм данных ...

Я пробовал:

d <-page %>% html_nodes(" .open-modal") %>% html_text()

и

d <-page %>% html_nodes(" .open-modal") %>% html_text('href')

безуспешно ...

Любая помощь? Заранее спасибо!

1 Ответ

0 голосов
/ 05 мая 2020

Возможно, вам стоит использовать html_attr:

library(rvest)
d <- page %>% html_nodes("a.open-modal") 
data.frame(href = d %>% html_attr('href'), 
           alt = d %>% html_attr('alt'),
           src = d %>% html_attr('src'))
...