1 Punkte von nsjokt 4 시간 전 | Noch keine Kommentare. | Auf WhatsApp teilen

Beim mehrmaligen Bauen von Crawlern gab es immer etwas, das mich gestört hat. Die meisten kratzen einmal Daten ab und sind dann fertig, sodass man für die eigentlich interessante Frage „Was hat sich seit gestern verändert?“ (Preisrückgänge, neue Produkte, Rangverschiebungen, Änderungen bei Reviews) jedes Mal selbst wieder hineingehen und vergleichen muss.

web_harvester konzentriert sich darauf, genau diese „Veränderungen“ zu melden, während er im Hintergrund weiterläuft. Dieselben Einträge werden nach Datum kumulativ in Google Sheets/CSV/Excel/SQL gespeichert, sodass nicht nur eine einzelne Zeile, sondern ein Verlauf erhalten bleibt. Und wenn eine bedeutsame Änderung auftritt, kommt sofort eine Benachrichtigung per Slack-/Discord-Webhook oder E-Mail. Das Erfassungsintervall lässt sich direkt einstellen, standardmäßig ist es auf niedrige Frequenz gesetzt.

Auch die No-Code-Seite wurde berücksichtigt. Die automatische Felderkennung findet auf der Seite mögliche Werte (Name, Preis usw.) und zeigt sie an; man muss sie nur noch anhaken, dann wird das Mapping erstellt — ganz ohne Code.

Technisch am spannendsten war die Recon-Engine. Gibt es auf dieser Seite JSON-LD, steckt alles in __NEXT_DATA__, oder muss am Ende doch das DOM ausgelesen werden? Jedes Mal die DevTools zu öffnen und das manuell zu prüfen, wurde lästig, also habe ich diese Entscheidung in Code gegossen. Sie nimmt eine Beispielseite entgegen, diagnostiziert automatisch in fünf Modi (JSON-LD · Window-Variablen (__NEXT_DATA__ usw.) · DOM-Wiederholung · Google af-data/af-one) und wählt den günstigsten Extraktionspfad, der bei UI-Änderungen am wenigsten leicht kaputtgeht. Seiten mit SSR oder eingebettetem JSON werden leichtgewichtig serverseitig verarbeitet, dynamische oder Login-Seiten dagegen über die eigene Chrome-Session des Nutzers (echter Browser), wobei derselbe Extraktionscode ausgeführt wird. Der Extraktionskern (Feld-Mapping, Typkonvertierung, Item-Extraktion) ist durch Offline-Unit-Tests fixiert, sodass Refactoring weniger riskant ist.

Die Designprinzipien wurden von Anfang an klar festgelegt: öffentliche Daten · eigene Berechtigung/Session · niedrige Frequenz · robots respektieren. CAPTCHA-/Proxy-Umgehung wird nicht durchgeführt.

Die Form ist ein Hybrid aus Chrome-MV3-Erweiterung und Python-CLI. Ich entwickle und betreibe das allein, daher gibt es vermutlich noch raue Stellen. Ich wäre wirklich dankbar, wenn ihr es direkt ausprobiert und Feedback gebt wie „Es wäre gut, wenn es noch solche Recon-Diagnoseergebnisse oder solche Änderungsbenachrichtigungen gäbe“.

Kostenlos direkt ausprobieren (Chrome Web Store) — Erfassung, Feldsuche und Export nach CSV/Sheets sind kostenlos (Basic): https://chromewebstore.google.com/detail/…
Unbeaufsichtigte Zeitplanung und Änderungsbenachrichtigungen sind Pro (einmalig, 20 % zum Launch automatisch angewendet): https://joktnova.gumroad.com/l/figvr/LAUNCH20

Öffentliche Daten · eigene Berechtigung · niedrige Frequenz · robots respektieren · keine CAPTCHA-/Proxy-Umgehung.

Noch keine Kommentare.

Noch keine Kommentare.