Hallo,
ich bin heute auf dieses Forum (und überhaupt das Thema "Python") gestoßen, da ich zur Zeit eine Lösung für ein Problem suche.
Und zwar habe ich eine CSV-Datei, in welcher unter anderem in einer bestimmten Spalte jeweils eine Bild-URL steht.
Diese Bilder möchte ich automatisch runterladen.
Auf das Thema Python bin ich jetzt durch ein anders Forum (dort geht es nicht um das Programmieren) gekommen. Ein Mitglied dort hatte ein ähnliches Problem / Vorhaben und hat dies mit einem Python-Code gelöst.
Ich habe dieses Mitglied bereits um Unterstützung gebeten und auch einen "py-Code" und erste Hilfestellungen bekommen. Allerdings funktionierte das ganze bislang noch nicht und das Mitglied ist derzeit offenbar nicht erreichbar.
Kann mir jemand hier aus der Runde bei der Lösung meines Anliegens helfen?
VG Gonzo
Bilder einer Liste mit URL automatisch downloaden
- __blackjack__
- User
- Beiträge: 14051
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@gonzo900: Zum einlesen und Parsen von CSV-Dateien gibt es in der Standardbibliothek das `csv`-Modul. Zum herunterladen aus dem Netz würde ich das externe `requests`-Modul empfehlen, man kann das aber auch mit dem `urllib.request`-Modul aus der Standardbibliothek lösen. Für die Python-Grundlagen gibt es in der Python-Dokumentation ein Tutorial. Ansonsten kann man ohne konkretere Fragen, keine konkreteren Antworten geben.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Hallo @__blackjack__ @__deets__
vielen Dank für Eure Antworten.
Oder kann / sollte ich sie Dir so schicken?
LG Gonzo
vielen Dank für Eure Antworten.
Das ganze sind leider komplett "böhmische Dörfer" für mich__blackjack__ hat geschrieben: Samstag 30. November 2019, 15:32 @gonzo900: Zum einlesen und Parsen von CSV-Dateien gibt es in der Standardbibliothek das `csv`-Modul. Zum herunterladen aus dem Netz würde ich das externe `requests`-Modul empfehlen, man kann das aber auch mit dem `urllib.request`-Modul aus der Standardbibliothek lösen. Für die Python-Grundlagen gibt es in der Python-Dokumentation ein Tutorial. Ansonsten kann man ohne konkretere Fragen, keine konkreteren Antworten geben.

Kann ich hier irgendwo Dateien im Beitrag anhängen? Ich finde leider keine entsprechende Funktion.__deets__ hat geschrieben: Samstag 30. November 2019, 14:17 Dann zeig doch mal deine ‚py-Code‘, deine CSV Datei, und welche Fehler du bekommst oder eine ausführliche Beschreibung dessen, was da nicht funktioniert.
Oder kann / sollte ich sie Dir so schicken?
LG Gonzo
Hallo nochmal,
ich versuche mal, den py-Code und die CSV als Link einzufügen.
Als py-Code hat das Mitglied aus dem anderen Forum mir dies zur Verfügung gestellt:
https://master.tus.io/files/7f8e123643e ... ADOhSrKPa4
Die CSV-Datei ist diese:
Datei von filehorst.de laden
ich versuche mal, den py-Code und die CSV als Link einzufügen.
Als py-Code hat das Mitglied aus dem anderen Forum mir dies zur Verfügung gestellt:
https://master.tus.io/files/7f8e123643e ... ADOhSrKPa4
Die CSV-Datei ist diese:
Datei von filehorst.de laden
Hi @__deets__
Diese Datei habe ich in einen Ordner kopiert. In diesem Ordner habe ich einen Ordner für die gedownloadeten Bilder erstellt und die CSV-Datei mit den ganzen Bild-URLs kopiert.
So hatte er mir das beschrieben.
Danach sollte ich bei meinem Mac das Terminal öffnen und der "python3 PFAD DER EXPORT-DATEI" eingeben.
Allerdings erscheint dann im Terminal diese Fehlermeldung:
Traceback (most recent call last):
File "/Users/brittabaumgart/Desktop/Bildersicherung/Tool.py", line 6, in <module>
with open('export1.csv') as csvfile:
FileNotFoundError: [Errno 2] No such file or directory: 'export1.csv'
Brittas-iMac:~ brittabaumgart$
Die Datei mit den URLs heißt allerdings "export1.csv"
LG Gonzo
einen Code habe ich nicht von ihm bekommen, er hat mir einen Link geschickt (https://master.tus.io/files/7f8e123643e ... ADOhSrKPa4). Dort habe ich eine ".py - Datei ("Tool.py") heruntergeladen.__deets__ hat geschrieben: Samstag 30. November 2019, 16:48 Du kannst den Code hier einkopieren, und ihn mit dem Code-Tag Button (</> im vollständigen Editor) lesbar machen. Ohne das geht’s nicht.
Diese Datei habe ich in einen Ordner kopiert. In diesem Ordner habe ich einen Ordner für die gedownloadeten Bilder erstellt und die CSV-Datei mit den ganzen Bild-URLs kopiert.
So hatte er mir das beschrieben.
Danach sollte ich bei meinem Mac das Terminal öffnen und der "python3 PFAD DER EXPORT-DATEI" eingeben.
Allerdings erscheint dann im Terminal diese Fehlermeldung:
Traceback (most recent call last):
File "/Users/brittabaumgart/Desktop/Bildersicherung/Tool.py", line 6, in <module>
with open('export1.csv') as csvfile:
FileNotFoundError: [Errno 2] No such file or directory: 'export1.csv'
Brittas-iMac:~ brittabaumgart$
Die Datei mit den URLs heißt allerdings "export1.csv"
LG Gonzo
Der User hat einen Fehler gemacht. Das Programm erwartet kein Argument, sondern hat das hart kodiert. Das hier sollte so funktionieren wie beschrieben:
Code: Alles auswählen
import csv
import urllib.request
from urllib.request import urlopen
import cgi
import sys
with open(sys.argv[1]) as csvfile:
reader = csv.reader(csvfile, delimiter=';', quotechar='|')
for row in reader:
fileurl = row[0] #Link zum Herunterladen (Muss http, nicht https)
filepos = row[1] #erstes zweites oder drittes bild
remotefile = urlopen(fileurl)
blah = remotefile.info()['Content-Disposition']
value, params = cgi.parse_header(blah)
filename = params["filename"]
urllib.request.urlretrieve(fileurl,"/Bilder/" + filepos + filename)
Jetzt bekomme ich eine andere Fehlermeldung:
Last login: Sat Nov 30 16:55:02 on ttys000
Brittas-iMac:~ brittabaumgart$ python3 /Users/brittabaumgart/Desktop/Bildersicherung/Tool1.py
Traceback (most recent call last):
File "/Users/brittabaumgart/Desktop/Bildersicherung/Tool1.py", line 7, in <module>
with open(sys.argv[1]) as csvfile:
IndexError: list index out of range
Brittas-iMac:~ brittabaumgart$
Last login: Sat Nov 30 16:55:02 on ttys000
Brittas-iMac:~ brittabaumgart$ python3 /Users/brittabaumgart/Desktop/Bildersicherung/Tool1.py
Traceback (most recent call last):
File "/Users/brittabaumgart/Desktop/Bildersicherung/Tool1.py", line 7, in <module>
with open(sys.argv[1]) as csvfile:
IndexError: list index out of range
Brittas-iMac:~ brittabaumgart$
- __blackjack__
- User
- Beiträge: 14051
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@gonzo900: Beim Start des Programms fehlt jetzt noch der Dateiname (ggf. mit Pfad) zu der CSV-Datei.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Hi @__deets__ @__blackjack__
der Auto des ursprünglichen Codes hatte in seiner Anweisung gestern geschrieben, dass der Pfad der .py-Datei im Terminal eingegeben werden soll, also:
"python3 /Users/brittabaumgart/Desktop/Bildersicherung/Tool1.py"
Richtig wäre?:
"python3 /Users/brittabaumgart/Desktop/Bildersicherung/export1.csv"
Sorry, kenne mich da echt absolut nicht aus
(
LG
der Auto des ursprünglichen Codes hatte in seiner Anweisung gestern geschrieben, dass der Pfad der .py-Datei im Terminal eingegeben werden soll, also:
"python3 /Users/brittabaumgart/Desktop/Bildersicherung/Tool1.py"
Richtig wäre?:
"python3 /Users/brittabaumgart/Desktop/Bildersicherung/export1.csv"
Sorry, kenne mich da echt absolut nicht aus

LG
Ich habe das jetzt mal geändert auf ""python3 /Users/brittabaumgart/Desktop/Bildersicherung/export1.csv"
Jetzt ist die neue Fehlermeldung
Last login: Sat Nov 30 18:33:45 on ttys000
Brittas-iMac:~ brittabaumgart$ python3 /Users/brittabaumgart/Desktop/Bildersicherung/export1.csv
File "/Users/brittabaumgart/Desktop/Bildersicherung/export1.csv", line 1
http://cdn02.plentymarkets.com/nvj4zzvi ... 0372.JPG;0
^
SyntaxError: invalid syntax
Brittas-iMac:~ brittabaumgart$
Jetzt ist die neue Fehlermeldung
Last login: Sat Nov 30 18:33:45 on ttys000
Brittas-iMac:~ brittabaumgart$ python3 /Users/brittabaumgart/Desktop/Bildersicherung/export1.csv
File "/Users/brittabaumgart/Desktop/Bildersicherung/export1.csv", line 1
http://cdn02.plentymarkets.com/nvj4zzvi ... 0372.JPG;0
^
SyntaxError: invalid syntax
Brittas-iMac:~ brittabaumgart$
Hallo __deets__
ich habe das jetzt beim letzten Versuch so gemacht:
"python3 /Users/brittabaumgart/Desktop/Bildersicherung/export1.csv"
(/Users/brittabaumgart/Desktop/Bildersicherung/export1.csv ist der Pfad zu meiner Export-Datei)
Die Fehlermeldung ist:
Last login: Sat Nov 30 18:33:45 on ttys000
Brittas-iMac:~ brittabaumgart$ python3 /Users/brittabaumgart/Desktop/Bildersicherung/export1.csv
File "/Users/brittabaumgart/Desktop/Bildersicherung/export1.csv", line 1
http://cdn02.plentymarkets.com/nvj4zzvi ... 0372.JPG;0
^
SyntaxError: invalid syntax
Brittas-iMac:~ brittabaumgart$
ich habe das jetzt beim letzten Versuch so gemacht:
"python3 /Users/brittabaumgart/Desktop/Bildersicherung/export1.csv"
(/Users/brittabaumgart/Desktop/Bildersicherung/export1.csv ist der Pfad zu meiner Export-Datei)
Die Fehlermeldung ist:
Last login: Sat Nov 30 18:33:45 on ttys000
Brittas-iMac:~ brittabaumgart$ python3 /Users/brittabaumgart/Desktop/Bildersicherung/export1.csv
File "/Users/brittabaumgart/Desktop/Bildersicherung/export1.csv", line 1
http://cdn02.plentymarkets.com/nvj4zzvi ... 0372.JPG;0
^
SyntaxError: invalid syntax
Brittas-iMac:~ brittabaumgart$
-
- User
- Beiträge: 329
- Registriert: Montag 13. Mai 2019, 16:05
- Wohnort: Erde
@ gonzo900
__deets__ hat es doch schon geschrieben wie es geht
__deets__ hat es doch schon geschrieben wie es geht
-
- User
- Beiträge: 379
- Registriert: Mittwoch 27. Juni 2018, 17:39
Ich glaube er sollte sich erstenmal über die Grundlagen von Python, sowie über das Modul "requests" und, von jackblack bereits erwähnt, das "csv" Modul informieren.
Es bringt dir mehr Erfolg nicht alles machen zu lassen, sondern selbst etwas zu versuchen.
Es bringt dir mehr Erfolg nicht alles machen zu lassen, sondern selbst etwas zu versuchen.
- __blackjack__
- User
- Beiträge: 14051
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@gonzo900: Und das ist immer noch falsch. Das besteht aus *drei* Teilen. Dem Programm das ausgeführt werden soll (Python), der Python-Datei die von Python ausgeführt werden soll, und dem Dateinamen der CSV-Datei.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari