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

  • Автор темы Автор темы malexoid
  • Дата начала Дата начала

malexoid

A-Parser Enterprise License
A-Parser Enterprise
При парсинге отдается 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
 

Вложения

  • upload_2019-2-1_15-30-29.png
    upload_2019-2-1_15-30-29.png
    39 КБ · Просмотры: 2
Последнее редактирование:
Проверка на получение "правильного" кода страницы в парсере Яндекса присутствует. Скорее всего в тех случаях, которые показаны на скриншотах, действительно приходила страница выдачи Яндекса без результатов. Но, вполне может быть, что верстка изменилась, и проверка не отрабатывает правильно. Либо проверка как раз отрабатывает правильно, а результаты не собираются. Чтобы точно определить причину, нужен код получаемой страницы. Пожалуйста, воспроизведите проблему в Тестовом парсинге с включенным режимом дебага и сбросьте мне в личку код страницы. Либо, можно выводить $pages.0.data в отдельные файлы для каждого запроса.

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

Вложения

Исправлено. Это новый вид проверки от Яндекса, вместо привычной каптчи. Пока что парсер при получении такой проверки будет повторять попытку с другим прокси.
 
Назад
Верх