Вспомогательные команды

Перезагрузка страниц

В процессе забора страниц с сайта может возникнуть ситуация, когда сервер не отдаст вам страницу в том виде в котором она вам нужна, или например, заблокирует ваш прокси если вы черезчур активно будете забирать страницы. Для того, чтобы отрабатывать подобные ситуации, мы добавили команду page_reload. Она перезагружает текущую страницу и работает в блоковом и страничном контекстах.

Или вам может понадобиться перечитать содержимое страницы в клиенте, например, при использовании headless браузера в качестве клиента, когда нужно подождать пока отработают все скрипты на страницы перед забором содержимого. Для этого используется команда page_reread.

Примеры использования:

              - find:
    path: body
    do:
    # ПРОВЕРЯЕМ НЕ ЗАБЛОКИРОВАН ЛИ ПРОКСИ
    - parse
    - if:
        # ОБРАТИТЕ ВНИМАНИЕ, НАДПИСЬ "request has been blocked" МОЖЕТ БЫТЬ
        # ИНОЙ В ВАШЕМ СЛУЧАЕ, ТОГДА НЕОБХОДИМО ПОДСТАВИТЬ ТАКУЮ НАДПИСЬ
        # ПО КОТОРОЙ ВАШ ДИГГЕР МОЖЕТ РАСПОЗНАТЬ, ЧТО ПРОКСИ БЛОКИРОВАН
        # ЭТО ЗАВИСИТ ОТ КОНКРЕТНОГО САЙТА-ДОНОРА
        match: "request has been blocked"
        do:
        # ПЕРЕКЛЮЧАЕМ ПРОКСИ
        - proxy_switch
        # ПЕРЕГРУЖАЕМ СТРАНИЦУ
        - page_reload
              
              - walk:
    to: http://somesite.com/page.html
    do:
    # СТРАНИЦА ФОРМИРУЕТСЯ С ПОМОЩЬЮ JS В ТЕЧЕНИИ НЕСКОЛЬКИХ СЕКУНД ПОСЛЕ ЗАГРУЗКИ, ПОЭТОМУ ПОДОЖДЕМ 5 СЕКУНД
    - sleep: 5
    # ПЕРЕЧИТАЕМ СОДЕРЖИМОЕ КЛИЕНТА, ПОСЛЕ ПОЛНОГО РЕНДЕРА
    - page_reread
                

В следующей главе вы узнаете как удалить URL из кеша загруженных страниц.