@MakarExp

Какими способами можно проверять сайты на работоспособность?

Нужно реализовать более стабильную проверку сайтов партнёров на работоспособность, чем есть сейчас.

У скрипта есть:
  • Трекинговая ссылка партнёра - 2-3 редиректа через трек платформы партнёра с переходом на целевую страницу
  • Список стран, из которых можно осуществлять переход по ним


На данный момент, делается так: берётся ссылка и выбираются прокси согласно указанным странам. Затем, перейти по ссылке пытается Селеуним. Забирает тайтл с страницы и сохраняет. Все последующие проверки, сравнивается полученный тайтл с сохранённым. Если тайтл не получен или получен другой, возникает ошибка, то пробуется фантомом или обычным гет запросом. Если не помогло получить тайтл, то идёт алерт в ТГ. Затем, исходя из того, что смогло получить данные с сайта, выбирается постоянный тип проверки для ссылки (для минимизации затрат) и им проверяется, примерно раз в час.

Проблемы:
  1. Проверка идёт около 1-1,5 часа (1300 ссылок 4 потока)
  2. Если появляется новый сайт, под какую-либо экзотическую страну, и этих прокси у нас нет, то сайт отсекает запрос и ссылка идёт на алерт, хотя может и работать
  3. Некоторые сайты блокируют как ботов
  4. Прокси не всегда стабильны
  5. Смена тайтлов у сайтов отправляет их на алерт и приходится вручную менять
  6. Некоторые сайты не парсит. Иногда, если сайт на JS фреймворке, то фантому и гет запросу отдаётся шаблон пустой. Селениум не всегда дожидается загрузки всех элементов
  7. Не на всех сайтах есть тайтлы


Пока что, думаю оставить проверку точно такой же, но перевести не на тайтлы, а на схожесь содержимого body, между эталонным (тот что получили при первой проверке) и тем что нам отдался. Если различия небольшие, то апдейтить эталонный боди.

Хотел бы узнать ваше мнение, может у вас есть какие-либо идеи или кейсы? Нужно какое-то простое и эффективное решение...

Проверять коды ответа - не варик. Иногда при ошибке отдаётся 200, к тому же, редиректов бывает много.
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы