Grundsätzlich möchte ich eine ganze Site mit Wget crawlen, aber ich muss NIEMALS andere Assets (z. B. Bilder, CSS, JS usw.) herunterladen. Ich möchte nur die HTML-Dateien.
Google-Suchen sind völlig nutzlos.
Hier ist ein Befehl, den ich ausprobiert habe:
wget --limit-rate=200k --no-clobber --convert-links --random-wait -r -E -e robots=off -U "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36" -A html --domain=www.example.com http://www.example.com
Unsere Website ist Hybrid-Flat-PHP und CMS. Also, HTML "Dateien" könnten /path/to/page
, /path/to/page/
, /path/to/page.php
, oder /path/to/page.html
.
Ich habe sogar aufgenommen, -R js,css
aber es lädt immer noch die Dateien herunter, dann lehnt es sie ab (sinnlose Verschwendung von Bandbreite, CPU und Serverlast!).
wget
web-crawler
Nathan JB
quelle
quelle
Length: 558 [text/css]
auf den Dateien, die ich nicht möchte. Wenn ich die Anfrage stoppen könnte, wenn der Header nicht zurückkehrttext/html
, wäre ich hocherfreut.Antworten:
@ ernies Kommentar zu
--ignore-tags
führe mich auf den richtigen Weg! Als ich aufblickte--ignore-tags
inman
, bemerkte ich--follow-tags
.Einstellung
--follow-tags=a
erlaubt mir zu überspringenimg
,link
,script
etc.Es ist wahrscheinlich zu begrenzt für einige Leute, die nach der gleichen Antwort suchen, aber es funktioniert in meinem Fall tatsächlich gut (es ist in Ordnung, wenn ich ein paar Seiten vermisse).
Wenn jemand eine Möglichkeit findet, das Scannen ALLER Tags zuzulassen, aber verhindert, dass
wget
Dateien erst nach dem Herunterladen abgelehnt werden (sie sollten vor dem Herunterladen anhand des Dateinamens oder des Inhaltstyps der Kopfzeile abgelehnt werden), nehme ich ihre Antwort sehr gerne an!quelle
Was ist mit dem Hinzufügen der Optionen:
quelle