Для тех, кто знает wget
, это имеет опцию --spider
, то, которое позволяет проверять, является ли ссылка, повредилось или нет, на самом деле не загружая веб-страницу. Я хотел бы сделать то же самое в Python. Моя проблема состоит в том, что у меня есть список 100'000 ссылок, которые я хочу проверить, самое большее один раз в день, и по крайней мере один раз в неделю. В любом случае это будет генерировать большой ненужный трафик.
Насколько я понимаю от urllib2.urlopen()
документация, это не загружает страницу, но только метаинформацию. Это корректно? Или есть ли некоторый другой способ сделать это хорошим способом?
С наилучшими пожеланиями,
Troels
Для этого следует использовать HEAD Request , он запрашивает у веб-сервера заголовки без тела. См. Как отправить HTTP-запрос HEAD в Python 2?
Не уверен, как это сделать в python, но в общем случае вы можете проверить "Заголовок ответа" и проверить "Код состояния" на код 200. В этот момент вы можете остановить чтение страницы и продолжить по следующей ссылке, таким образом вам не придется загружать всю страницу, только "Заголовок ответа". Список Status Codes