Получить номер строки с чтением HTML в R - PullRequest
0 голосов
/ 08 октября 2019

Я пытаюсь прочитать веб-страницу, которая содержит товары (двенадцать элементов на странице) и цены (обычные и со скидкой, которые могут быть трех разных типов) из супермаркета. Для этого я использую такие функции, как html_nodes и html_text. При чтении цен я должен использовать html_text, потому что содержимое значений не находится внутри узлов. Например:

url<-"https://www.cotodigital3.com.ar/sitios/cdigi/browse/"

parsed_url<-read_html(url)

regular_price<-parsed_url %>%
        html_nodes('.atg_store_newPrice') %>%
        html_text(trim=TRUE)

И я получаю что-то вроде этого (35 элементов, потому что каждая цена повторяется три раза на странице, если только у одного продукта нет скидки «лояльность», в этом случае появляется только два раза):

[1] "PRECIO CONTADO\n\t\t\t                  \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n\n\n \n \n\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n $219.00"

Но для одного типа цены со скидкой я получаю только одно (зависит от момента и страницы, в которой выполняется запрос) значение:

discount_price<-parsed_url %>%
        html_nodes('.first_price_discount_container') %>%
        html_text(trim=TRUE)

[1] "25%\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r \r \r \r \r\t\r \r \r \r \r \r \r\t\r\t\t\t\r\t\r\n\t\t\t\t\t\t\t\t\t\t$52.99"

Итак,вопрос в том, есть ли способ узнать строку текста, которую возвращает функция html_text, чтобы контролировать, к какому товару относится скидка, которая не присутствует регулярно в структуре html?

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...