rastreador web
Este repositorio contiene la interfaz y el controlador de la aplicación.
Una herramienta sencilla para rastrear cualquier sitio web y notificarle cuando ese sitio web cambie.
Tecnologías utilizadas:
- Node.js/JS: se utiliza con Puppeteer para ejecutar el desguace del sitio web inicial (alojado en Azure).
- C#: se utiliza para la función azul cronometrada que se ejecuta cada minuto para detectar cualquier cambio y el controlador principal en el backend.
- MongoDB: se utiliza para almacenar todos los datos del sitio web y del correo electrónico.
- ASP.Net MVC, HTML, CSS, JS: Se utiliza para crear la interfaz del sitio web.
- Implementado originalmente en una máquina virtual Linux en la nube
Otros repositorios relacionados (se utilizó la arquitectura de microservicio para implementar la separación de preocupaciones):
- La función que realiza el raspado inicial: se ejecuta cuando se envía una solicitud de seguimiento, raspa el sitio web y almacena sus datos en MongoDB.
- La función activada por tiempo: esta función se ejecuta cada minuto, realiza otro raspado en cada sitio web en la base de datos y envía una señal cuando cambia el contenido del sitio web.
Cómo ejecutar localmente:
Desafortunadamente, he decidido dejar de ejecutar las funciones de Azure en la nube por motivos de costos, pero aún puedes ejecutarlas localmente.
- Clona este repositorio en tu máquina local y usando una terminal, navega hasta "WebTrackerCoreUI/WebTrackerCoreUI" y luego ejecuta:
ejecutar dotnet
- Abra https://localhost:5001 en su navegador e ignore las preocupaciones de seguridad (créame)
- Clonar La función que realiza el scraping inicial.
- Navegue a trackerAutomation desde otra terminal y ejecute:
instalación npm
inicio de npm
- Necesitará la URL que obtenga en la terminal más tarde.
- Clonar la función activada por hora
- Navegue a webTrackerContinuouswebTrackerContinuous desde una tercera terminal
- Edite webTrackerContinuouswebTrackerContinuousFunction1.cs en su editor de texto favorito y actualice:
- El correo electrónico y el pase del remitente del correo electrónico.
- el enlace de la función Azure del paso 5
- Después de guardar, ejecute el siguiente comando en webTrackerContinuouswebTrackerContinuous:
inicio de función
- Edite WebTrackerCoreUIQueueAppProgram.cs en su editor de texto favorito y actualice:
- el enlace de la función Azure del paso 5
- Vuelva a la pestaña https://localhost:5001 que abrió en el paso 2 y todo debería funcionar como se esperaba.