Para quienes conocen wget
, tiene una opción --spider
, que permite verificar si un enlace está roto o no, sin descargar realmente la página web. Me gustaría hacer lo mismo en Python. Mi problema es que tengo una lista de 100 000 enlaces que quiero verificar, como máximo una vez al día, y al menos una vez a la semana. En cualquier caso, esto generará mucho tráfico innecesario.Verificando si un enlace está muerto o no utilizando Python sin descargar la página web
Por lo que entiendo del urllib2.urlopen()
documentation, no descarga la página sino solo la metainformación. ¿Es esto correcto? ¿O hay alguna otra forma de hacer esto de una manera agradable?
mejor,
Troels
Derecha, HEAD obtendrá los encabezados (incluido el estado de HTTP) sin descargar el cuerpo del mensaje. Sin embargo, algunos sitios están (mal) configurados para enviar páginas 'no encontradas'/404 con un estado de 200, por lo que sería difícil detectar esas situaciones. – JAL
Por lo que puedo decir, esto es lo que hace wget --spider. –
Muchas gracias por la solución, así como por los pensamientos sobre sitios mal configurados (¡eso vale la pena tener en cuenta!) - eso es justo lo que necesito :) – Troels