Проверка на загрузку контента при парсинге через WBApp

Тема в разделе "Решение проблем с загрузкой WEB-страниц", создана пользователем ITz, 20 дек 2022.

  1. ITz

    ITz Member Пользователи

    Регистрация:
    31 янв 2020
    Сообщения:
    44
    Город:
    Third Rome
    Добрый день,

    интересует как можно организовать проверку, что страница была загружена при использовании WBApp
    к примеру если на загружаемой ссылке-странице появилась проверка на капчу и страница сайта по факту не загружена и не содержит ничего полезного и в случае если страница просто не дозагрузилась и вернула пустоту по таймеру но CDX считает, что все в порядке и переходит к следующей ссылке..
     
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    При использовании WBAppCEF (не WBAppIE) по умолчанию проверка готовности WEB страницы осуществляется не по таймеру, а по ее статусу загрузки (аналогично, как в обычном браузере, когда кнопка перезагрузки страницы имеет обычный вид или изображение крестика (когда идет загрузка)).

    На некоторых сайтах, помимо основного запроса к URL, осуществляется догрузка доп. данных уже "скриптами" (отправляются дополнительные запросы, например, для подгрузки цен или описаний товаров, затем их обработка), что часто некорректно отражается на статусе загрузки страницы в браузере и ведет к некорректному ожиданию ее готовности.

    Для таких случаев используется метод ожидания ответа нужного URL запроса или метод ожидания появления на странице нужного DOM элемента (например, где выводится описание товара).

    Детального мануала по этим двум методам сейчас нет.

    Если предоставите несколько ссылок на товары, подберу решение.
     
  3. ITz

    ITz Member Пользователи

    Регистрация:
    31 янв 2020
    Сообщения:
    44
    Город:
    Third Rome
    в случае отслеживания появления капчи, это все решается по другому т.к. нужно в цикле проверять появление капчи на странице и понимать что с ней делать дальше особенно если не подключен сервис распознавания капч.. сейчас речь не об этом, можно сделать простой параметр (даже не макрос), который будет проверять и сверять цифру кол-во полученных данных в gethtml, перед отправкой gethtml в сам парсер, например gethtmlcount(значение, кол-во ретривов) или данный параметр может просто возвращать значение gethtml и если оно равно будет к примеру нулю или меньше чем заданное значение при парсинге шаблонной страницы с данного сайта - отправлять WBApp на обновление данной страницы. надеюсь смысл понятен :)
     
    Последнее редактирование: 21 дек 2022
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Прямо в списке событий WBAppCEF
    Код:
    [IFDOCHAS]:Признак каптчи (часть HTML кода, когда каптча есть)
        [PERFORMNAVIGATEERROR]
    [/IFDOCHAS]
    Если в HTML-коде будет признак каптчи, то Content Downloader повторно загрузит эту же WEB страницу.
     
  5. ITz

    ITz Member Пользователи

    Регистрация:
    31 янв 2020
    Сообщения:
    44
    Город:
    Third Rome
    С этим понятно, про этот макрос я в курсе но это не то что нужно..

    ps: также не откажусь от подсказки можно ли как то цеплятся за CSS ссылку для создания клика в WBApp?
     
    Последнее редактирование: 23 дек 2022

Поделиться этой страницей