stefankittel
Goto Top

Besserer 404 Scanner Bash oder Online mit API

Hallo,

in einem Spezialprojekt werden regelmäßig statische Webseiten generiert.
Hier kommt es hin und wieder vor, dass diese Seiten 404 erzeugen.

Weniger bei den normalen URLs, aber einige setzten Java-Scripte um Pfade dynamisch zu erzeugen.

Das es, wie immer, zu viele Seiten und zu wenige Personen sind, halten sich die Tests in Grenzen und meist fällt dies erst nach 1-2 Tagen auf, dass irgendwo was nicht geht.

Also würde ich dem Erstellungs-Skript gerne einen 404-Scanner nachfolgen lassen und den Wartungsmodus erst deaktivieren wenn der Scan OK ist.
So würde Niemand die defekte Seite sehen.

Ich habe es selber mit wget, wget2 und curl probiert, aber Fehler bei den JS-Skripten erkennen die auch nicht.

Die eigenen Logs auf 404-Fehler zu prüfen ist auch nicht optimal, weil dann ja schon Personen auf der Webseite sind.

Einige Online-Scanner können das, aber keiner bietet eine API an um dies auzuführen.

Ich bräuchte einen Browserbasierten Web-Crawler dem man eine Domain und Start-URL übergibt und eine Liste aller URLs mit 404-Fehler zurückerhält.

Kennt Jemand etwas fertiges was sich schnell ohne große eigenentwicklung umsetzen lässt?

Content-ID: 2644416029

Url: https://administrator.de/forum/besserer-404-scanner-bash-oder-online-mit-api-2644416029.html

Ausgedruckt am: 12.04.2025 um 06:04 Uhr

Tezzla
Tezzla 29.04.2022 aktualisiert um 21:24:50 Uhr
Goto Top
Hallo Stefan,

wenn ich dich richtig verstanden habe, sollte das per Powershell und einer Quelldatei gehen, bspw CSV mit den URLs drin.

Per Powershell die Datei importieren und per Invoke-Webrequest untersuchen. Bekommt man ein HTTP 200 zurück, ist die Seite erreichbar. Den Rückgabewert kann man ja dann wieder in der CSV hinterlegen (egal ob gut oder schlecht).

Wäre das ungefähr das, was du suchst?

VG
StefanKittel
StefanKittel 29.04.2022 aktualisiert um 22:13:28 Uhr
Goto Top
Zitat von @Tezzla:
Wäre das ungefähr das, was du suchst?
Nein.
In der Datei steht z.B. https://www.skittel.de drin.
Nun soll er die ganze Webseite durchsuchen und prüfen ob auf allen Seiten alle Bilder, JS-, CSS- und sonstige Links gültig sind.

Und das gemeine ist, im JS steht so etwas
url = "https://www.skittel/" + "file1.css"

browser Können so etwas, aber keine Grabber oder Crawler.

Stefan

PS: Lauffähig Linux
godlie
godlie 29.04.2022 um 22:36:55 Uhr
Goto Top
Hallo,evtl wäre ein headless Browser mit einem Testframework der bessere Ansatz dafür.

https://blog.actorsfit.com/a?ID=00001-3e945caf-98b9-49cb-a892-c458508cd9 ...
StefanKittel
StefanKittel 30.04.2022 um 01:01:17 Uhr
Goto Top
Zitat von @godlie:
Hallo,evtl wäre ein headless Browser mit einem Testframework der bessere Ansatz dafür.
https://blog.actorsfit.com/a?ID=00001-3e945caf-98b9-49cb-a892-c458508cd9 ...

Das wollte ich gerade vermeiden "Kennt Jemand etwas fertiges was sich schnell ohne große eigenentwicklung umsetzen lässt?" face-smile
cykes
cykes 30.04.2022 um 06:24:35 Uhr
Goto Top
Moin,

vielleich hilft Dir Muffet: https://golangexample.com/muffet-a-website-link-checker-which-scrapes-an ... bzw. https://github.com/raviqqe/muffet

Ist allerdings in Go geschrieben und erfordert ein wenig zusätzliche Installation.

Gruß

cykes
maretz
maretz 30.04.2022 um 09:06:25 Uhr
Goto Top
Ich würde da mit nem jMeter-Test rangehen. Zumindest wenn da Links zum Verfolgen sind könnte das klappen - hängt auch natürlich davon ab wie diese Seiten generiert werden.