So laden Sie alle Dateien in einem Ordner mit wget herunter

So laden Sie alle Dateien in einem Ordner mit wget herunter

Ich muss alle Dateien in einem Domänenordner herunterladen https://example.com/folder/subfolder. Die Unterordnerdateien haben keine eindeutige Reihenfolge, d. h. die Dateinamen sind zufällige Zeichenfolgen. Ich möchte alle Dateien im Unterordner mit wget oder einer anderen Methode herunterladen. Bitte geben Sie Einzelheiten an.

Ich habe versucht, die AntwortHier. Es wird nur die Datei index.html heruntergeladen. Ich habe in dieser Antwort eine andere Option mit der Option --reject ausprobiert, aber es wird nichts heruntergeladen.

Antwort1

Soweit mir bekannt ist, wgetfunktioniert es nur mit Links, die:

  • Verfügen Sie explizit über ein Standardattribut href.

  • Sind in einem bestimmten HTML-Dokument vorhanden (das vom Server generiert wird, sodass jedestechnischwgetverfügbare Datei wird möglicherweise nicht immer zum Download angeboten ).

Darüber hinaus sollten Sie sich wahrscheinlich jede Rohseitenquelle ansehen (z. B. in Ihrem Browser). Wenn die Seite JavaScript verwendet, haben Sie möglicherweise Pech, da wgetJavaScript nicht verarbeitet wird.

Wenn ein Link im Roh-HTML aufgeführt ist, aber ohne ein Standardattribut href, können Sie die Seite trotzdem nach Links durchsuchen, allerdings nicht mit wget. Sie müssten wahrscheinlich Ihr eigenes Skript mit etwas wie Windows PowerShell oderPython(ggf. mitAnfragen) UndSchöne Suppe.


Beachten Sie, dass in einigen seltenen Fällen, wenn die Links vollständig durch JavaScript generiert werden, möglicherweise sogarSelenum eine vollständig gerenderte Seite zu speichern, bevor sie für Dateilinks verarbeitet wird. Python hat eineSelenium-Modulund ich persönlich hatte viel Glück mit den eigenständigen "Marmaduke"-Builds (Zip-Dateien) vonUngegoogeltes Chromium von Woolysszur Browserautomatisierung.

verwandte Informationen