2009-07-03 9 views
430

Ich brauche Dateien, die nach/tmp/cron_test/heruntergeladen werden. Mein wget Code istWie spezifiziert man den Ort mit wget?

wget --random-wait -r -p -nd -e robots=off -A".pdf" -U mozilla http://math.stanford.edu/undergrad/ 

So gibt es einige Parameter, um das Verzeichnis anzugeben?

+1

Ähnliche bei Unix SE: [Download wget in ein anderes Verzeichnis als aktuelles Verzeichnis mit] (http: //unix.stackexchange .com/q/23501/21471). – kenorb

Antwort

645

Aus dem Handbuch Seite:

-P prefix 
--directory-prefix=prefix 
      Set directory prefix to prefix. The directory prefix is the 
      directory where all other files and sub-directories will be 
      saved to, i.e. the top of the retrieval tree. The default 
      is . (the current directory). 

So müssen Sie -P /tmp/cron_test/ auf Ihren Befehl hinzuzufügen.

+13

-P ist die kürzere Form für --directory-Präfix – nik

+2

-P/tmp/cron_test/funktioniert nicht, aber Entfernen/wie -P tmp/cron_test/funktioniert und erstellt sogar nicht existierende Verzeichnis. – Kangarooo

+5

Kangaroo es funktioniert wahrscheinlich nicht, weil Sie/tmp/cron_test/auf Ihrem System nicht haben: P – Sameer

-7

versuchen, diese Methode -

import os 
path = raw_input("enter the url:") 
fold = raw_input("enter the folder:") 
os.system('wget -r -nd -l1 -P %s --no-parent -A mp3 %s'%(fold, path)) 
+0

Dies ist komplizierter als notwendig – Adam

+0

Wayyyyyy komplizierter als nötig. Warum überhaupt Python? Dies beantwortet die Frage nicht, da das OP offensichtlich BASH verwendet. –

187

-O ist die Möglichkeit, den Pfad der Datei, die Sie herunterladen möchten, angeben.

wget <file.ext> -O /path/to/folder/file.ext 

-P Präfix, wo er die Datei im Verzeichnis

wget <file.ext> -P /path/to/folder 
+2

Ich würde einen abschließenden Schrägstrich hinzufügen, um es '/ path/to/folder /' dort –

+7

zu machen Ich habe auch für '-O' bestimmt, was ich nicht brauchte, aber ich fühlte mich sicherer, dass' -P' was war Ich brauchte. – WORMSS

+0

@louisMaddox für die Manpages auf meinem Computer ist das Standardpräfix "." (dh das aktuelle Verzeichnis) würde das Hinzufügen eines abschließenden Schrägstrichs zu "Verzeichnispräfix" einen doppelten Schrägstrichfehler verursachen (dh mein/favorite/dir/Präfix //), außerdem würde unter Berücksichtigung der Semantik "Verzeichnispräfix" kein a erfordern Schrägstrich. –

4

Vergewissern Sie sich herunterladen können Sie die URL korrekt haben für das, was Sie vor allem, Urls mit Zeichen wie '?' und so sind das Herunterladen kann nicht analysiert und aufgelöst werden, dies wird die cmd-Zeile verwirren und alle Zeichen akzeptieren, die nicht in den Quellen-URL-Namen aufgelöst werden, als der Dateiname, in den Sie herunterladen.

d. H. wget "sourceforge.net/projects/ebosse/files/latest/download?source=typ_redirect" wird in eine Datei mit dem Namen ?source=typ_redirect heruntergeladen.

Wie Sie sehen können, ein oder zwei Dinge über URLs zu wissen, hilft, wget zu verstehen.

Ich boote von einem Hirens Datenträger und hatte nur Linux 2.6.1 als Ressource (Import os ist nicht verfügbar). Die korrekte Syntax, die mein Problem gelöst, einen ISO auf die physische Festplatte herunterzuladen, war:

wget "(source url)" -O (directory where HD was mounted)/isofile.iso" 

könnte man die richtige URL Abbildung durch, an welchem ​​Punkt wget-Downloads in eine Datei mit dem Namen „index.html“ zu finden (die Standard-Datei), und hat die richtige Größe/andere Attribute der Datei, die Sie mit dem folgenden Befehl gezeigt müssen:

wget "(source url)" 

einmal, dass url und Quelldatei korrekt ist, und es ist das Herunterladen in index.html können Sie stoppen der Download (Strg + z) und ändern Sie die Ausgabedatei mit -O "<specified download directory>/filename.extension" nach der Quelle URL.

In meinem Fall führt dies zum Herunterladen einer ISO und Speichern als eine Binärdatei unter isofile.iso, die hoffentlich mounts.

-1

Mann wget: -O Datei --output-Dokument = Datei

wget "url" -O /tmp/cron_test/<file> 
+0

Es ist keine Antwort, becouse -o Option legte Dounloaded-Datei in der angegebenen Datei. Aber Frage ist "wie Datei in einen Ordner". Und das ist doppelte Antwort existiert –

Verwandte Themen