1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

Ошибка [1.2.408] SE::Yandex::Position заканчивает парсинг при ошибке в контенте

Тема в разделе "1.2.434", создана пользователем malexoid, 1 фев 2019.

  1. malexoid

    malexoid A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    7 сен 2015
    Сообщения:
    256
    Симпатии:
    60
    При парсинге отдается 200, но контент не валидный - т.е. прокси вернул шляпу или страница яндекса не догрузилась. В таких случаях парсинг должен продолжаться т.к возникла ошибка, см ниже в логе парсер сообщил об ошибке "Error, results count not found".

    1. Должна быть проверка, что html получен весь, т.е </html> должен быть.
    1.1. если нет </html> то продолжаем парсинг.
    2. Должна быть проверка, что это контент яндекса, а не прокси вернул что-то левое.
    2.1. если в п.2 контент яндекса и возникает ошибка - то парсинг должен прекращаться, т.е. яндекс возможно поменял верстку и нечего его долбить.
    2.2. если в п.2 контент не яндекса, то продолжаем парсинг.


    upload_2019-2-1_15-30-36.png

    upload_2019-2-1_16-7-0.png
     

    Вложения:

    #1 malexoid, 1 фев 2019
    Последнее редактирование: 1 фев 2019
  2. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Проверка на получение "правильного" кода страницы в парсере Яндекса присутствует. Скорее всего в тех случаях, которые показаны на скриншотах, действительно приходила страница выдачи Яндекса без результатов. Но, вполне может быть, что верстка изменилась, и проверка не отрабатывает правильно. Либо проверка как раз отрабатывает правильно, а результаты не собираются. Чтобы точно определить причину, нужен код получаемой страницы. Пожалуйста, воспроизведите проблему в Тестовом парсинге с включенным режимом дебага и сбросьте мне в личку код страницы. Либо, можно выводить $pages.0.data в отдельные файлы для каждого запроса.

    Запись в логе "Error, results count not found" говорит только о том, что не было найдено кол-во результатов. Парсинг по текущему запросу при этом продолжится, но только, если найдена ссылка на следующую страницу. В тех же случаях, что показаны на скриншотах, ссылка на следующую страницу не была найдена, поэтому и парсинг по данному запросу закончился.
     
  3. malexoid

    malexoid A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    7 сен 2015
    Сообщения:
    256
    Симпатии:
    60
    Вот такой ответ, яндекс на ip ругается, но приходит 200ка и парсер думает, что нет результатов.
     

    Вложения:

    Support нравится это.
  4. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    4.545
    Симпатии:
    2.163
    Исправлено. Это новый вид проверки от Яндекса, вместо привычной каптчи. Пока что парсер при получении такой проверки будет повторять попытку с другим прокси.
     

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