WebTracker
Dieses Repo enthält das Frontend und den Controller der App
Ein einfaches Tool, um jede Website zu verfolgen und Sie zu benachrichtigen, wenn sich diese Website ändert.
Verwendete Technologien:
- Node.js/JS: Wird mit Puppeteer verwendet, um den ersten Website-Scrapper auszuführen (gehostet in Azure).
- C#: Wird für die zeitgesteuerte Azure-Funktion verwendet, die jede Minute ausgeführt wird, um Änderungen zu erkennen, und für den Hauptcontroller im Backend.
- MongoDB: Wird zum Speichern aller Website- und E-Mail-Daten verwendet.
- ASP.Net MVC, HTML, CSS, JS: Wird zum Erstellen des Frontends der Website verwendet.
- Ursprünglich auf einer virtuellen Linux-Maschine in der Cloud bereitgestellt
Andere verwandte Repos (Verwendete die Microservice-Architektur, um die Trennung von Bedenken zu implementieren):
- Die Funktion, die das anfängliche Scraping durchführt: Diese wird ausgeführt, wenn eine Track-Anfrage gesendet wird, sie crawlt die Website und speichert ihre Daten in einer MongoDB.
- Die zeitgesteuerte Funktion: Diese Funktion wird jede Minute ausgeführt, führt ein weiteres Scraping auf jeder Website in der Datenbank durch und sendet ein Signal, wenn sich der Inhalt der Website ändert.
So führen Sie es lokal aus:
Leider habe ich mich aus Kostengründen entschieden, die Azure-Funktionen nicht mehr in der Cloud auszuführen, Sie können sie aber weiterhin lokal ausführen.
- Klonen Sie dieses Repo auf Ihren lokalen Computer und navigieren Sie mit einem Terminal zu „WebTrackerCoreUI/WebTrackerCoreUI“ und führen Sie dann Folgendes aus:
Dotnet-Lauf
- Öffnen Sie https://localhost:5001 in Ihrem Browser und ignorieren Sie Sicherheitsbedenken (vertrauen Sie mir)
- Klonen Die Funktion, die das anfängliche Scraping durchführt
- Navigieren Sie von einem anderen Terminal zu trackerAutomation und führen Sie Folgendes aus:
npm installieren
npm-Start
- Sie benötigen die URL, die Sie später im Terminal erhalten
- Klonen Sie die zeitgesteuerte Funktion
- Navigieren Sie von einem dritten Terminal aus zu webTrackerContinuouswebTrackerContinuous
- Bearbeiten Sie webTrackerContinuouswebTrackerContinuousFunction1.cs in Ihrem bevorzugten Texteditor und aktualisieren Sie:
- Die E-Mail-Adresse und der Pass des E-Mail-Absenders
- den Azure-Funktionslink aus Schritt 5
- Führen Sie nach dem Speichern den folgenden Befehl in webTrackerContinuouswebTrackerContinuous aus:
Funktionsstart
- Bearbeiten Sie WebTrackerCoreUIQueueAppProgram.cs in Ihrem bevorzugten Texteditor und aktualisieren Sie:
- den Azure-Funktionslink aus Schritt 5
- Gehen Sie zurück zur Registerkarte https://localhost:5001, die Sie in Schritt 2 geöffnet haben, und alles sollte wie erwartet funktionieren