Tengo una lista de URL (1000+) que se han almacenado durante más de un año. Quiero revisarlos y verificarlos para ver si aún existen. ¿Cuál es la mejor/más rápida forma de verificarlos todos y devolver una lista de los que no devuelven un sitio?Python verificar url va a una página
Respuesta
esto es un poco lento, pero se puede usar algo como esto para comprobar si la URL es un vivo
import urllib2
try:
urllib2.urlopen(url)
return True # URL Exist
except ValueError, ex:
return False # URL not well formatted
except urllib2.URLError, ex:
return False # URL don't seem to be alive
más rápida que urllib2 puede utilizar httplib
import httplib
try:
a = httplib.HTTPConnection('google.com')
a.connect()
except httplib.HTTPException as ex:
print "not connected"
también se puede hacer una DNS checkout (no es muy conveniente verificar si un sitio web no existe):
import socket
try:
socket.gethostbyname('www.google.com')
except socket.gaierror as ex:
print "not existe"
Chec k esto:
Fin continuación:
import ping, socket
try:
result = ping.do_one('http://stackoverflow.com/', timeout=2)
except socket.error, e:
# url cannot be reached
print "Error:", e
Tengo más de 1000 URL para verificar. ¿Será esto más rápido que usar la respuesta urllib2 a continuación? – John
Creo que sí. Pruébalo. También depende de la red. En todos los casos, la respuesta del servidor llevará algún tiempo (puede establecer el tiempo de espera en mi solución, como puede ver en el código). – Klark
- 1. ¿Cómo puedo verificar si una URL es absoluta usando Python?
- 2. Validación de URL internacionalizadas: ¿Esto va a ser un problema?
- 3. El hiperref de LaTeX va a la página incorrecta
- 4. ¿Se va a transportar Paramiko a Python 3.x?
- 5. Ajax va a [% 20Object objeto]
- 6. Listview va onclick a una nueva actividad
- 7. mi regla htaccess va a la página y no a la identificación
- 8. URL de Safari a una solución de página PDF?
- 9. Página web redirigir a la página principal con CGI Python
- 10. Acceda a la "Pestaña Editar página URL" desde la página
- 11. Cómo reenviar una solicitud a una url diferente en python
- 12. Aplicar URL relativa a una URL absoluta
- 13. C# ¿Cómo puedo verificar si existe una URL/es válida?
- 14. qué contenedor DI va a satisfacer esta
- 15. Autoconf - ¿A dónde va config.h?
- 16. cómo abrir una url en python
- 17. Runtime.availableProcessors: ¿qué va a devolver?
- 18. ¿A dónde va Java Stderr?
- 19. ¿Puedo verificar si existe un archivo en una URL?
- 20. ¿Cómo puedo verificar desde Android WebView si una página es una "página 404 no encontrada"?
- 21. Diccionario de Python a Parámetros de URL
- 22. python: compruebe si existe url a jpg
- 23. ¿Cómo verificar qué URL hará un RedirectToRouteResult?
- 24. ¿Puedo verificar si existe un archivo en una URL?
- 25. Redirigir automáticamente a una página
- 26. ¿Cómo puedo redireccionar una página php a otra página php?
- 27. Verificar si se selecciona una página de pestañas específica (activa)
- 28. Cómo puedo normalizar una URL en python
- 29. Cómo cambiar la página url
- 30. una expresión regular que va a analizar 00.00
se utiliza la toma rápida que urllib2. Intenté con urllib2 pero me llevó una eternidad así que terminé deteniéndolo – John
Acabo de editar mi pregunta, y agregué una solución más rápida usando httplib, y para usar ping (la otra respuesta) o búsqueda DNS (la tercera solución en mi respuesta) no es muy conveniente, porque muchos sitios web todavía están registrados en el DNS y ya no existen y para el ping es igual que la búsqueda DNS + un ping ICMP que tampoco dice si el sitio web (servidor http) ejecutando "aceptando conexión" o no – mouad
El 'urllib2' me funcionó desde detrás de un proxy en OS X.' httplib' no funcionaría. –