Как повторно загрузить если в отчете значение count меньше других страниц?

Тема в разделе "Решение различных задач по парсингу", создана пользователем kofe, 3 июл 2019.

  1. kofe

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

    Регистрация:
    22 май 2019
    Сообщения:
    64
    Иногда парсинг проходит - программа считает, что выполнила задачу, но результаты по некоторым вэб документам оказываются пустыми (парсинг по ним не проходит). Просматривая отчет заметил, что у вэб документов по которым парсинг не проходит имеют меньшее значение count нежели у тех, по которым парсинг прошел удачно (га картинке count 8 и 15, 20 и 27). Т. е. программа считает, что парсинг прошел и не повторяет попытку загрузить документ (как в случае ранее решенного вопроса: "Результирующий документ оказался пустым").

    Безымянный рисунок.png

    Прошу подсказать как можно решить поставленную задаче, и что означает count в отчете лога парсинга.
     
  2. Root

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

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

    Код:
    [IF1][CHARCOUNT][EXCLUDE] |,|.[/EXCLUDE]ТЕКСТ, ГДЕ ПОДСЧИТАТЬ КОЛИЧЕСТВО СИМВОЛОВ[/CHARCOUNT]<15[THEN][RELOADDOCUMENT][SKIPFILESDOWNLOADING][/IF1]ТЕКСТ ШАБЛОНА ВЫВОДА
     
  3. kofe

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

    Регистрация:
    22 май 2019
    Сообщения:
    64
    Благодарю, скажите вместо "ТЕКСТ, ГДЕ ПОДСЧИТАТЬ КОЛИЧЕСТВО СИМВОЛОВ" какую-то из границ парсинга нужно вставлять например [GRAN1], если да, то которую?

    Возможно мне кажется (маловероятно, но могу ошибаться), что день ото дня количество count изменяется (на том же сайте). Я не совсем понимаю символы, которой из границ парсинга считаются.

    Вот например (см картинку), тот же парсинг после паузы (выделил, что прошло: 35 и 59, все остальное - нет).

    Безымянный рисунок.png

    Прошу прояснить.
     
    Последнее редактирование: 4 июл 2019
  4. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    В хелпе пояснено, что значит count

    Ссылки недоступны для гостей
     
    Последнее редактирование: 4 июл 2019
  5. kofe

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

    Регистрация:
    22 май 2019
    Сообщения:
    64
    Благодарю, кое-что прояснилось.

    Используя макрос PHP_SCRIPT, количеством символов в сохраняемом документе (count) будет количество символов echo из пхп скрипта (я долго не мог этого понять).

    Используя макрос [IF2] (пример ниже) можно подсчитать количество символов echo из пхп скрипта - это не может не радовать, однако выполняя подсчет, автоматически исполняется и сам пхп скрипт:
    Код:
    [IF2][CHARCOUNT][EXCLUDE] |,|.[/EXCLUDE]
    <PHP_SCRIPT=https://xxx.php>
    all_data=[DATAENCODE]<CD_CYCLE_GRAN_1!>[/DATAENCODE]
    </PHP_SCRIPT>
    [/CHARCOUNT]>15[THEN]больше[ELSE]меньше[/IF2]
    
    Вопрос: можно ли (если да, то каким образом) избежать исполнения самого пхп скрипта используя макросы [IF2][CHARCOUNT] и [CHECKENTRY2] , когда просто нужно подсчитать количество символов не приводя в исполнение сам PHP_SCRIPT?
     
    Последнее редактирование: 14 июл 2019
  6. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Одна из границ оказывается пустой при таком отчете в логе. Стоит надстроить проект..

    Как спарсить проблемный сайт полностью:
    1. В доп.настроке границ ctrl+4 отметьте пункт "обязательно" для границы например наименование или артикула.
    2. В главной панеле программы выберите режим сохранения документа "дозаписывать" Ссылки недоступны для гостей
    3. В настройках автоматизации ctrl+u отметьте повторное обращение к странице если с первого раза не удалось Ссылки недоступны для гостей
    4. В настройках фильтров ctrl+r укажите путь до текстовика куда будут записываться удачно спарсенные документы Ссылки недоступны для гостей
    5. Перед парсингом сохраните проект со списком ссылок и запускайте, повторный запуск точно допарсит что пропустило в первый раз.

    п.с. данные рекомендации полезно для парсинга проблемных сайтов.
     
    Root нравится это.
  7. sinoda

    sinoda New Member Пользователи

    Регистрация:
    10 фев 2012
    Сообщения:
    55
    Город:
    Москва
    Подскажите как с помощью этой связки
    обратиться к файлу имя которого берется из [PARAM]: как обсуждалось тут и тут, чтобы посчитать кол-во символов в файле. Мне не нужно знать сколько символов в границе парсинга, нужно знать сколько в файле будет до дозаписывания. Возможно я ошибаюсь и не нужно привязываться к [PARAM], а нужно просто получить результат PHP_SCRIPT=Ссылки недоступны для гостей
    вот тут Вы как раз говорите
    , я понимаю, что скрип обрабатывает результат парсинга , не говорит ли это, что количество символов можно получить до парсинга ? Как будто тут-
    это и написано ? Если больше 15 символов - то [THEN]парсить[ELSE]не парсить[/IF2] ? Есть ли способ обращения к файлу (условно сохраняемого из [PARAM]:) до парсинга ? Как бы показывая путь, что сейчас будем парсить в файл с именем из [PARAM], давай перед этим посчитаем сколько символов уже есть в этом файле... больше 15, тогда ок, парсим... как-то так.
     
    Последнее редактирование: 9 фев 2022
Similar Threads
  1. yuriktekhex
    Ответов:
    12
    Просмотров:
    1.519
  2. jozess
    Ответов:
    12
    Просмотров:
    1.055
  3. TeslaCo
    Ответов:
    10
    Просмотров:
    946
  4. kofe
    Ответов:
    8
    Просмотров:
    1.356
  5. madison21
    Ответов:
    7
    Просмотров:
    548
Загрузка...

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