Wget hat Probleme, nur die gewünschten Dateien zu speichern - das Ausschließen von Verzeichnissen scheint nicht zu funktionieren

Wget hat Probleme, nur die gewünschten Dateien zu speichern - das Ausschließen von Verzeichnissen scheint nicht zu funktionieren

Ich möchte alle staatlichen Ausgaben des Ministeriums für Energie und Klimawandel über 500 £ herunterladen. Dabei handelt es sich um XLS- und XLSX-Dateien, die einmal im Monat generiert werden. Sie werden an folgenden Orten gespeichert:

https:// www.gov.uk/government/uploads/system/uploads/attachment_data/file/209425/20130627_April_2013_PUS_.xls

wobei die Nummer nach der Datei eine eindeutige Nummer ist und der Dateiname keine Namenskonsistenz aufweist. Diese Dateien sind von einzelnen Monatsseiten aus verlinkt, die folgende Form haben:

https://www.gov.uk/government/publications/departmental-spend-over-500-april-2013

die wiederum von einer Indexseite verlinkt, die lautet:

https://www.gov.uk/government/collections/departmental-spend-over-500

Dieser Befehl funktioniert:

wget -r --force-html -e robots=off -A xls,xlsx,"" -l 2
https://www.gov.uk/government/collections/departmental-spend-over-500

aber neben den .xls- und .xlsx-Dateien erhalte ich das komplette Verzeichnis der .gov.uk-Site (bis zu einer Tiefe von zwei Links von meinem Ausgangspunkt), das ~100 MB Text-/HTML-Dateien außer den .xls-Dateien herunterlädt, was ein bisschen übertrieben ist. Meine Frage ist also:

Wie kann ich dafür sorgen, dass wget nur aus den oben genannten Verzeichnissen Quellen verwendet oder alternativ offensichtliche Verzeichnisse ausschließt, die ich nicht haben möchte?

Ich habe die offensichtlichen Befehle -I und -X, -D usw. ausprobiert, aber ohne Erfolg. NB: Ich musste "" sowie XLS-Dateien in den Schalter -A einschließen, sonst würde er die verknüpften HTML-Dateien ignorieren ...

Jeder Ratschlag wird dankbar angenommen! Dies ist übrigens auf einem Mac.

Antwort1

Ha! Endlich habe ich es hinbekommen. Im Include muss der vollständige Pfad aller Verzeichnisse angegeben werden - aber NICHT die URL:

wget -r -A xls,xlsx,"" -l 2 -I /government/uploads/system/uploads/attachment_data/file/,/government/publications/,/government/collections/departmental-spend-over-500 https://www.gov.uk/government/collections/departmental-spend-over-500

Nicht offensichtlich – also zumindest nicht für mich …

(scrollen Sie im Codefeld nach rechts, um alles anzuzeigen)

Edit: Eigentlich besser - ich habe es hier aufgeteilt:

wget -r -A xls,xlsx,"" -l 2 
-I /government/uploads/system/uploads/attachment_data/file/,
   /government/publications/,
   /government/collections/departmental-spend-over-500
https://www.gov.uk/government/collections/departmental-spend-over-500

Linie 1:rekursiv, schließe xls & xlsx & Dateien ein, die keine Erweiterungen haben (- in diesem Fall HTML-Dateien...) und führe zwei Ebenen ab der in Zeile 5 angegebenen Stelle aus

Zeilen 2-4:diese Pfade/Verzeichnisse ab der obersten URL einschließen (also alles andere ausschließen)

Zeile 5:Wo soll ich anfangen?

verwandte Informationen