Форум сайта python.su
0
Продолжаю изучать пайтон
Собственно вопрос пока больше теоретический:
На входе есть произвольный url адрес.
На выходе получить информацию о том рабочая ли страница или нет.
Естественно можно проверить состояние сайта - по коду ответа, но если был просрочен хостинг, например, или заблокирован, страница перенесена, ошибка 404.
На разных сайтах будут выдаваться совершенно различные варианты.
Алгоритм:
1) проверка на возвращаемый код
2) Если 200, то проверка на наличие ошибок
Есть такое подозрение, что для решения задачи нужно использовать что-то в виде нейронных сетей.
Ну или есть разработки аналогичные?
Офлайн
53
neitro
с каких пор что бы проверить код http-ответа нужны нейронные сети?
Офлайн
53
neitro
и 200 подразумевает отсутствие ошибок
Офлайн
39
neitro
Нейронные сети? Мать моя женщина…
Обязательно нейросети, ГА и нечеткая логика. Причем все сразу 
А реально sander правильно написал. Код ответа 200 подразумевает, что все (во всяком случае на сервере) прошло успешно. И если результат не ожидаемый, значит что-то в функции-отображении на сервере у Вас не так, хотя она и выполнилась без ошибок 
Отредактировано 4kpt_III (Авг. 10, 2015 14:39:43)
Офлайн
0
Видимо я не совсем корректно уточнил.
Ответ 200 - не означает, что сайт работает - это может быть ответ хостинга.
Т.е. да сайт работает - только сайта на нем нет.
Задача подразумевает отлов ситуаций
1) был просрочен хостинг
2) сайт заблокирован хостингом
3) страница перенесена
4) ошибка 404
5) Парковочная страница
Поэтому уточню алгоритм:
1) Проверка кода (должен вернуть 200)
2) Если ответ 200 - это еще не значит, что сраница - это страница сайта, а не парковочная, 404 и т.д.
Т.е. пример из практики: домен не успели продлить - вместо сайта висит заглушка. Выдает ответ сервера 200. Но сайта там нет.
Вариант 2-й страницы нет на этом сайте - выдает ошибку 404.
Собственно вопрос, как эти ошибки отлавливать?
Офлайн
24
neitro
Вариант 2-й страницы нет на этом сайте - выдает ошибку 404.
>>> requests.get("http://google.com/dsj") <Response [404]>
Офлайн
568
Задача подразумевает отлов ситуацийнереально
1) был просрочен хостинг
2) сайт заблокирован хостингом
3) страница перенесена
4) ошибка 404
5) Парковочная страница
Офлайн
39
FishHook
Да накой здесь ангуляр. Можно с использованием обычного js это сделать… Идея в том, что эта задача изначально обречена на провал. Да и смысла в ней ноль.
Офлайн
72
В сервисах контроля доступности сайта обычно используют поиск характерного для страницы текста. Если найден - считается, что страница отдана верно.
Офлайн
0
PooHВот и я о том же подумал. Просто у различных хостингов эта информация отличается. Вот и вопрос как это сделать грамотнее - искать по куску кода. Ну не красиво же будет)
обычно используют поиск характерного для страницы текста
Офлайн