Código Python para monitorear y detectar cambios en el contenido raspado/código HTML de un sitio web en tiempo real/actual.
Comencé a trabajar en el scraping de contenido de un sitio web y código HTML usando Beautiful Soup. Quiero un código en Python que pueda almacenar el contenido extraído o el código HTML en tiempo real/actual. Luego, después de un intervalo de tiempo específico asignado manualmente, el código debería ejecutarse una vez más y extraer el contenido o el código HTML del mismo sitio web o página web. Y luego debería comparar ambos datos extraídos y mostrar cualquier cambio que ocurra. Quiero que este código monitoree los cambios que ocurren en un sitio web y los informe.
Lo que he hecho hasta ahora:
import requests
from bs4 import BeautifulSoup
url = "https://www.uetmardan.edu.pk/uetm/"
# Paso 1: Obtener el contenido HTML
r = requests.get(url)
# Paso 2: Analizar el contenido HTML
soup = BeautifulSoup(r.content, 'html5lib')
# #print(soup.prettify()) # solo imprimir el código HTML
print(soup.get_text()) # solo imprimir el texto
davy.ai
Propuesta de solución
Para lograr el resultado deseado de monitorear los cambios del sitio web y reportarlos, podemos dividir la solución en los siguientes pasos:
Podemos implementar estos pasos utilizando código Python con las siguientes bibliotecas:
Aquí está una implementación de código de muestra:
“ `
import requests
from bs4 import BeautifulSoup
import time
import pandas as pd
import smtplib
Establecer la URL del sitio web para extraer
url = “https://www.uetmardan.edu.pk/uetm/”
while True:
# Paso 1: Obtener el contenido HTML
r = requests.get(url)
“ `
Este código se ejecutará indefinidamente, extrayendo el contenido del sitio web o el código HTML cada 10 minutos y comparándolo con los datos previamente almacenados. Si hay una diferencia, enviará una notificación por correo electrónico a la dirección de correo electrónico especificada. Sin embargo, tenga en cuenta que algunos sitios web tienen medidas de seguridad contra la extracción web, por lo que es importante verificar los términos de servicio del sitio web y respetar sus reglas.