it-swarm.com.de

Ubuntu: Mit curl ein Bild herunterladen

Ich möchte ein Bild herunterladen, auf das über diesen Link zugegriffen werden kann: https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png in mein lokales System. Nun ist mir bewusst, dass der Befehl curl zum Herunterladen von Remote-Dateien über das Terminal verwendet werden kann. Also habe ich in meinem Terminal Folgendes eingegeben, um das Bild in mein lokales System herunterzuladen:

curl https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png

Dies scheint jedoch nicht zu funktionieren, also gibt es offensichtlich eine andere Möglichkeit, Bilder mit curl aus dem Internet herunterzuladen. Wie kann ich mit diesem Befehl Bilder richtig herunterladen?

40

curl ohne Optionen führt eine GET-Anforderung aus. Es werden einfach die Daten von der angegebenen URI zurückgegeben. Rufen Sie die Datei nicht auf Ihrem lokalen Computer ab.

Wenn Sie das tun,

$ curl https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png

Sie erhalten binäre Daten:

                   |�>�$! <R�[email protected]*�Pm�Z��jU֖��[email protected]�
��{X\� K���>0c�yF[i�}4�!�V̧�H_�)nO#�;I��vg^_ ��-Hm$$N0.
���%Y[�L�U3�_^9��P�T�0'u8�l�4 ...

Um dies zu speichern, können Sie Folgendes verwenden:

$ curl https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png > image.png

um diese Rohdaten in einer Datei zu speichern.

Eine einfachere Möglichkeit ist jedoch die Verwendung von wget.

$ wget https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png
$ ls
.
..
Apple-touch-icon-144x144-precomposed.png
68
sircapsalot

Für diejenigen, die wget weder installieren noch installieren wollen, wird curl -O (Großbuchstabe "o" und keine Null) dasselbe tun wie wget. Z.B. Mein altes Netbook hat kein Wget und ist eine 2,68 MB-Installation, die ich nicht brauche.

curl -O https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png
17
jwh

Wenn Sie den ursprünglichen Namen beibehalten möchten, verwenden Sie Großbuchstaben -O.

curl -O https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png

Wenn Sie die Remote-Datei unter einem anderen Namen speichern möchten, verwenden Sie die Kleinbuchstaben -o.

curl -o myPic.png https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png

4
daGo

Erstellen Sie eine neue Datei mit dem Namen files.txt und fügen Sie die URLs pro Zeile ein. Führen Sie dann den folgenden Befehl aus.

xargs -n 1 curl -O < files.txt

quelle: https://www.abeautifulsite.net/downloading-a-list-of-urls-automatically

3
korchix

Für diejenigen, die permission denied für den Speichervorgang erhalten haben, ist der Befehl, der für mich funktioniert hat

$ curl https://www.python.org/static/Apple-touch-icon-144x144-precomposed.png --output py.png