ошибки 502, 504 при парсинге

При парсинге ресурса я иногда получаю ошибки 502 и 504.

Если просто открыть их с браузера, страницы работают.


так же, иногда мне несколько раз подряд отдаётся пустое тело в ответе(тоесть после запроса с пустым телом я делаю sleep на минуту, и опять получаю пустое тело)


инструменты парсинга: php + guzzle


P.S вопрос задался потому что на 1000 корректно распаршеных страниц приходится дюжина 502/504/empty.

Это интернет магазин, они не могут просто так отдать 504, иначе клиенты бы сьели с потрохами

Соответственно, что-то не так, но я не знаю что


Подскажите пожалуйста, это какие-то механизмы защиты могут такую подлянку делать, или в чём может быть загвоздка?


Ответы (1 шт):

Автор решения: Alexandr
При парсинге ресурса я иногда получаю ошибки 502 и 504.

Если просто открыть их с браузера, страницы работают.

Посмотрите какие заголовки вы используете при запросе с браузера и попробуйте скопировать их, так же если вы используете вебдрайвера, то попробуйте отключить опцию их определения

так же, иногда мне несколько раз подряд отдаётся пустое тело в ответе(тоесть после запроса с пустым телом я делаю sleep на минуту, и опять получаю пустое тело)

Пустое тело может отдаваться, когда мы работаем c динамическими страницами, которые формируются непосредственно в браузере, надо изучить сайт перед парсингом и определить как формируется контент(на сервере или на клиенте). Если html формируется на клиенте, попробуйте использовать selenium, который будет запускать js и формировать страницу.

Подскажите пожалуйста, это какие-то механизмы защиты могут такую подлянку делать, или в чём может быть загвоздка?

Да, возможно есть проверка на сервере например на определения браузера, если вы например отправляете запрос без user agent то сервер может его просто не обрабатывать. Нужно детальнее изучить сайт, чтоб понять в чем причина. Или может стоять ограничение на количество запросов в минуту/час/месяц. При превышении лимита ваш ip могут просто блочить и не отвечать на ваши запросы определенное время

→ Ссылка