Как получить конкретную информацию на HTML-странице с помощью Cheerio на GAS?

avatar
onit
8 августа 2021 в 22:05
189
1
0

Мне не удалось определить какой-либо класс, идентификатор и т. д., откуда код должен получать информацию. Вот html-страница и часть информации, которую я должен получать каждый день: enter image description here

...и вот фрагмент кода, который я пытаюсь использовать:

    var content = UrlFetchApp.fetch("https://ovoonline.com.br/", options).getContentText();
    const $ = Cheerio.load(content);
    Logger.log($('td[colspan="2"]').text());

Это его селектор, но он выводит неверный результат:

body > table > tbody > tr > td > table > tbody > tr > td:nth-child(2) > table:nth-child(2) > tbody > tr:nth-child(6) > td > table > tbody > tr:nth-child(2) > td:nth-child(2) > table > tbody > tr:nth-child(1) > td:nth-child(1) > table > tbody > tr:nth-child(18) > td > table > tbody > tr:nth-child(2) > td:nth-child(2) > table > tbody > tr > td:nth-child(1)

Спасибо!

Источник

Ответы (1)

avatar
Julian Benavides
9 августа 2021 в 02:19
1

Это сработало для меня:

    var content = UrlFetchApp.fetch("https://ovoonline.com.br/",options)
                  .getContentText();

   const $ = Cheerio.load(content);
   Logger.log($('td[width="45"]').eq(1).text());

Журнал результатов:

enter image description here

onit
9 августа 2021 в 11:47
0

ПРИВЕТ! Большое спасибо. Это действительно получает цену, но та, которую я ищу, мне нужно сначала войти в систему, а затем получить цену из таблицы, которая находится внутри многих других таблиц. Выше есть обновление.

Julian Benavides
9 августа 2021 в 23:21
0

Когда я подготовил запрос, я сделал это с домашней страницей, потому что не мог войти в систему, можете ли вы прислать полный html-код?

onit
9 августа 2021 в 23:51
0

Вот оно...docs.google.com/document/d/… Я понимаю, сколько усилий и времени здесь требуется... Я действительно понимаю! Большое спасибо!

Julian Benavides
10 августа 2021 в 01:10
0

Я изменил ответ, возможно, это поможет вам.