Пропуск ячеек при парсинге

Тема в разделе "Решение проблем с использованием программы", создана пользователем freman, 15 июл 2015.

  1. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Проект вроде как уже настроен. Он должен парсить данные.

    При предпросмотре результатов парсинга HTML, загружаемый макросом GETMORECONTENT, можно анализировать в соответствующей вкладке окна предпросмотра. При парсинге - нет (такой задачи не стояло).

    Как находил код при парсинге расписывать не буду, так делал для этого "специальную версию".
     
  2. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Так. Пошли секретики. Но за помощь все равно ОГРОМНОЕ спасибо! А то я все стандартные методы обхода попробовал и ни один не помог.
     
  3. Root

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

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

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Я конечно дико извиняюсь, но даже с продвинутыми настройками границ сайт продолжает отдавать "дырки".
     
  5. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Что требуется от меня?
     
  6. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Ну это как-бы пожелания. GETMORECONTENT - хорошая штука, но он работает совершенно "втемную". Логов не, ссылок типа <CD_DOCURL!> - нет. По обычным границам я бы давно уже это все по логам и таблице вычислил, да перепарсил бы битые данные, а вот с GETMORECONTENT у меня такого инструмента нет. А ведь не плохо бы иметь такой параметр, чтоб при проверке через IF-граница пустая можно было бы сохранить в файлик хотя бы ссылочку на проблемную страничку.

    Короче нужно логирование GETMORECONTENT. Без него вот такие танцы с бубном выходят.

    UPD Хотя тут даже логирование не поможет, т.к. важно сведение вместе данных, полученных от GETMORECONTENT и обычных границ. В данном случае поможет макрос типа <CD_DOCURL!>, но только для GETMORECONTENT. Тогда можно все ссылки вывести в таблицу результатов, а затем эти дырки просто перепарсить. Там уже будет делом техники как это проще сделать.

    UPD 2 Блин, чояпишу...:rolleyes: Чот я не выспался. Какой <CD_DOCURL!>??? Ссылку в GETMORECONTENT я ж сам передал. Ну собсна как отдал - так и взял обратно. Проблема решена.
     
    Последнее редактирование: 14 фев 2020
  7. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Нет смысла ради одного такого сайта делать логи для GETMORECONTENT при парсинге.

    Добавил в проект конструкцию, которая проверит, вернул ли GETMORECONTENT данные. Если не вернул, запустит макрос ожидания и перезапустит парсинг WEB-документа.

    Код:
    ...[IFNIL2]<GETMORECONTENT><URL="https://www.batterika.ru/[VALUE]"><START="<div class={"}article{"}>Код товара: "><STARTCOUNT="0"><END="<"><ENDCOUNT="0"><PARAMS="utf-8"></GETMORECONTENT>[ELSE][WAIT:10000][RELOADDOCUMENT][/IFNIL2]...
     

    Вложения:

  8. Serheo

    Serheo Well-Known Member Пользователи

    Регистрация:
    13 окт 2018
    Сообщения:
    251
    Город:
    Москва
    Ну во у меня как раз и была идея про IF, только я не знал, что можно именно таким образом проверить GETMORECONTENT на пустоту. Спасибо, ОГРОМНОЕ!
     
    Root нравится это.
  9. Root

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

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

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