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-Key: 2644416029

Url: https://administrator.de/contentid/2644416029

Printed on: April 16, 2024 at 21:04 o'clock

Member: Tezzla
Tezzla Apr 29, 2022 updated at 19:24:50 (UTC)
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
Member: StefanKittel
StefanKittel Apr 29, 2022 updated at 20:13:28 (UTC)
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
Member: godlie
godlie Apr 29, 2022 at 20:36:55 (UTC)
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 ...
Member: StefanKittel
StefanKittel Apr 29, 2022 at 23:01:17 (UTC)
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
Member: cykes
cykes Apr 30, 2022 at 04:24:35 (UTC)
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
Member: maretz
maretz Apr 30, 2022 at 07:06:25 (UTC)
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.