Si a menudo se encuentra obteniendo datos de sitios web, probablemente debería considerar automatizar el proceso. A veces denominado "web scraping", el proceso es común para los sitios que no proporcionan una API o fuente formal. Por supuesto, no llegará a ninguna parte si el sitio que está tratando de buscar no está disponible.

Si ejecuta su propio sitio, probablemente haya tenido que lidiar con el tiempo de inactividad antes. Puede ser frustrante, hacer que pierda visitantes e interrumpir cualquier actividad de la que su sitio pueda ser responsable. En tales circunstancias, vale la pena poder verificar fácilmente la disponibilidad de su sitio web.

Python es un excelente lenguaje para secuencias de comandos, y su sintaxis concisa pero legible hace que implementar un verificador de sitios sea una tarea simple.

Creación de su comprobador de sitios web personalizado

El verificador de sitios web está hecho a medida para adaptarse a varios sitios web a la vez. Esto le permite cambiar fácilmente los sitios que ya no le interesan o comenzar a revisar los sitios que lanzará en el futuro. El verificador es una "aplicación esqueleto" ideal en la que podría desarrollar más, pero demuestra un enfoque básico para obtener datos web.

instagram viewer

Importar bibliotecas en Python

Para iniciar el proyecto, debe importar el peticiones biblioteca en Python con el importar función.

importar peticiones

La biblioteca de solicitudes es útil para comunicarse con sitios web. Puede usarlo para enviar solicitudes HTTP y recibir datos de respuesta.

Almacene las URL del sitio web en una lista

Una vez que importe la biblioteca, debe definir y almacenar las URL del sitio web en una lista. Este paso le permite retener varias URL, que puede verificar con el verificador de sitios web.

importar peticiones

URL_sitio web = [
" https://www.google.co.en",
" https://www.yahoo.com",
" https://www.amazon.co.en",
" https://www.pipsnacks.com/404",
" http://the-internet.herokuapp.com/status_codes/301",
" http://the-internet.herokuapp.com/status_codes/500"
]

La variable URL del sitio web almacena la lista de URL. Dentro de la lista, defina cada URL que desee verificar como una cadena individual. Puede usar las URL de ejemplo en el código para realizar pruebas o puede reemplazarlas para comenzar a verificar sus propios sitios de inmediato.

A continuación, almacene los mensajes para uso común. Códigos de respuesta HTTP. Puede guardarlos en un diccionario e indexar cada mensaje por su código de estado correspondiente. Su programa puede usar estos mensajes en lugar de códigos de estado para una mejor legibilidad.

estados = {
200: "Sitio web disponible",
301: "Redireccionamiento permanente",
302: "Redireccionamiento Temporal",
404: "Extraviado",
500: "Error de servidor interno",
503: "Servicio no disponible"
}

Creación de un bucle para comprobar el estado del sitio web

Para verificar cada URL a su vez, querrás recorre la lista de sitios web Dentro del ciclo, verifique el estado de cada sitio enviando una solicitud a través de la biblioteca de solicitudes.

por URL en URL del sitio web:
probar:
web_response = solicitudes.get (url)
imprimir (url, estados [web_response.status_code])

excepto:
imprimir (url, estados [web_response.status_code])

Dónde:

  • para URL...itera sobre la lista de URL.
  • URL es la variable a la que el bucle for asigna cada URL.
  • prueba/exceptomaneja cualquier excepción eso puede surgir.
  • respuesta_web es una variable que proporciona una propiedad con el código de estado de la respuesta

El fragmento de código completo

Si prefiere revisar todo el código de una sola vez, aquí hay una lista completa de códigos como referencia.

importar peticiones

URL_sitio web = [
" https://www.google.co.en",
" https://www.yahoo.com",
" https://www.amazon.co.en",
" https://www.pipsnacks.com/404",
" http://the-internet.herokuapp.com/status_codes/301",
" http://the-internet.herokuapp.com/status_codes/500"
]

estados = {
200: "Sitio web disponible",
301: "Redireccionamiento permanente",
302: "Redireccionamiento Temporal",
404: "Extraviado",
500: "Error de servidor interno",
503: "Servicio no disponible"
}

por URL en URL del sitio web:
probar:
web_response = solicitudes.get (url)
imprimir (url, estados [web_response.status_code])

excepto:
imprimir (url, estados [web_response.status_code])

Y aquí hay un ejemplo de ejecución del código:

Capacidades de codificación de Python en Web Scraping

Las bibliotecas de terceros de Python son ideales para tareas como web scraping y obtención de datos a través de HTTP.

Puede enviar solicitudes automatizadas a sitios web para realizar varios tipos de tareas. Estos pueden incluir leer titulares de noticias, descargar imágenes y enviar correos electrónicos automáticamente.