yannosch
Goto Top

Bilder aus dem Web mit CSV runterladen

Servus,

hat jemand eine Ahnung wie ich das am besten löse?

Ich habe eine csv Datei mit einer Liste von Bild URLs.

Spalte A
https://xxxxx.de/media/bild1.png
https://xxxxx.de/media/bild2.png
https://xxxxx.de/media/bild3.png
https://xxxxx.de/media/bild4.png

Es gibt da nur diese eine Spalte.

Gibt's da ein Programm was ich mit der csv füttern kann und das es dann alle Bilder in einem Folder speichert?

Hätte das selbe auch noch mit PDF's.

Jemand eine Idee?

Danke schonmal im Voraus!

Grüße
Yannosch

Content-ID: 355241

Url: https://administrator.de/contentid/355241

Ausgedruckt am: 15.11.2024 um 16:11 Uhr

em-pie
em-pie 17.11.2017 um 13:19:16 Uhr
Goto Top
Moin,

'ne Kombination aus WGET für Windows und einer batch sollte funktionieren.
ALternativ auch sicherlich irgendwas mit der PowerShell (da bin ich aber raus)

Achte aber darauf, dass du auch der Rechteinhaber der Dateien bist, nicht, dass das am Ende irgendwie "Ärger" gibt....

Gruß
em-pie
SlainteMhath
SlainteMhath 17.11.2017 um 13:21:45 Uhr
Goto Top
Moin,

geht mittels wget:
wget -i datei.csv

lg,
Slainte
BassFishFox
BassFishFox 17.11.2017 um 13:25:48 Uhr
Goto Top
Hallo,

wget -i DeineListe

BFF
Yannosch
Yannosch 17.11.2017 um 13:48:03 Uhr
Goto Top
Danke für die Hilfe Leute!

wget über cmd oder batch? - habe damit noch nicht gearbeitet.

Und vor allem wie gebe ich dann noch den Speicherort an?

LG
em-pie
em-pie 17.11.2017 aktualisiert um 13:51:59 Uhr
Goto Top
Och, wieder etwas gelernt. Den Parameter -i kannte ich noch gar nicht (man sollte gelegentlich doch die Doku lesen ^^)

Nachtrag:
mache es doch wie folgt:
kopiere die Datei wget.exe nach c:\myDownload\wget und dann wie folgt in der batch

c:
cd c:\myDownload
c:\myDownload\wget\wget.exe -i myList.csv
Dann lädt der alle Dateien nach c:\myDownload herunter...
BassFishFox
BassFishFox 17.11.2017 aktualisiert um 14:08:09 Uhr
Goto Top
Bitte,

wget über cmd oder batch? - habe damit noch nicht gearbeitet.

Was jetzt welcher Unterschied ist? Einfach mal in der CMD probieren. face-wink

Und vor allem wie gebe ich dann noch den Speicherort an?

Wie waers mit nem Blick in die Optionen? face-wink

wget -i DeineListe -P"F:\MeinOrdner\"  


BFF
Yannosch
Yannosch 17.11.2017 um 14:20:48 Uhr
Goto Top
Zitat von @em-pie:

Och, wieder etwas gelernt. Den Parameter -i kannte ich noch gar nicht (man sollte gelegentlich doch die Doku lesen ^^)

Nachtrag:
mache es doch wie folgt:
kopiere die Datei wget.exe nach c:\myDownload\wget und dann wie folgt in der batch

> c:
> cd c:\myDownload
> c:\myDownload\wget\wget.exe -i myList.csv
> 
Dann lädt der alle Dateien nach c:\myDownload herunter...


Folgendermaßen sieht es jetzt aus:

wget

Inhalt der Bat

c:
cd c:\Webshop Bilder
c:\Webshop Bilder\wget.exe -i C:\Webshop Bilder\MCL1.csv

Ausführen der Bat bringt keine Bilder in mein Verzeichnis.

In der csv stehen nur die Links - Zeile für Zeile...

Es findet leider kein Download statt.
BassFishFox
BassFishFox 17.11.2017 aktualisiert um 15:01:14 Uhr
Goto Top
Hallo,

Und Du fuehrst die BAT aus in dem Du nen Doppelklick darauf machst? Starte die mal in der Eingabeaufforderung.

Meine BAT
cd /d "c:\Webshop Bilder"   
wget.exe -i MCL1.csv

Erste Stolperfalle kann das Leerzeichen im Pfad zur wget und zur CSV sein. Zweite Stolperfalle eventuell die Spaltenueberschrift in der CSV.
Mach einfach aus der CSV eine niedliche TXT ohne Ueberschrift. Hinter der letzten Zeile in der Liste muss ein Zeilenumbruch rein.

https://xxxxx.de/media/bild1.png
https://xxxxx.de/media/bild2.png
https://xxxxx.de/media/bild3.png
https://xxxxx.de/media/bild4.png

Dann versuch mal, ob wget ueberhaupt in der Lage ist, bei Dir etwas herunter zu laden.
wget.exe https://xxxxx.de/media/bild1.png

BFF
Yannosch
Yannosch 17.11.2017 um 15:20:36 Uhr
Goto Top
Okay...

Er führt das Programm nun wenigstens so aus ...

bekomme nur diesen Fehler jetzt:

wget1
BassFishFox
BassFishFox 17.11.2017 um 15:38:50 Uhr
Goto Top
Kann keine Verbindung zu minicircuits aufbauen.
Bekommst Du die Verbindung mit nem Browser?
Bei mir klappt das ganz wunderpraechtig aus ner VM mit Lubuntu heraus.

BFF
Yannosch
Yannosch 17.11.2017 aktualisiert um 15:42:21 Uhr
Goto Top
Hm ... im Browser kann ich die Ohne Probleme laden ...

Zumal ja die Connection steht...

Nur mit SSL hat er da Probleme.
Pedant
Pedant 17.11.2017 aktualisiert um 15:56:38 Uhr
Goto Top
Hallo Yannosch,

die Meldung hättest Du auch gerne als Text per copy-paste hier posten können, statt als Bild.

Goolge ist Dir Fremd, oder?
wget --no-check-certificate https://www.minicircuits.com/images/case_style/GC957.png
sollte funktionieren.
(ungetestet)

Wenn Du eine URL tatsächlich unkenntlich machen möchtest, dann müsstest Du Dir etwas mehr Mühe geben.

Gruß Frank
Yannosch
Yannosch 17.11.2017 um 15:43:36 Uhr
Goto Top
Ja nslookup und die IP - ist klar ... im Prinzip ist es ja egal ... versuche nur , egal bei was, so wenig wie möglich preiszugeben.

Danke dir.
Yannosch
Yannosch 17.11.2017 um 15:45:15 Uhr
Goto Top
Und das in Verbindung mit der CSV ? ...
Yannosch
Yannosch 17.11.2017 um 15:53:46 Uhr
Goto Top
Desweiteren hat der 1 zu 1 übernommene Code kein Ergebniss gebracht.
No-Check-Certificate wurde versucht als Host zu benutzen
Pedant
Pedant 17.11.2017 aktualisiert um 15:58:42 Uhr
Goto Top
Hallo Yannosch,

Ja nslookup und die IP - ist klar ...
Nein, Goolgesuche: case_style "GC957.png"
Die IP war mir gar nicht aufgefallen.

so wenig wie möglich preiszugeben
warum hast Du dann die IP nicht auch maskiert?

in Verbindung mit der CSV ?
Ja, aber ich erhalte dann:
Connecting to www.minicircuits.com|206.2.76.43|:443... failed: Permission denied.

Vielleicht hilt die Option --user-agent?
Quelle: https://wiki.ubuntuusers.de/wget/
Ein erster, schneller Versuch half im Test nicht.

Gruß Frank

Nachtrag:
Ich hatte ein Leerzeichen zwischen -- und no gepostet,
das da nicht hingehört.
BassFishFox
BassFishFox 17.11.2017 um 15:57:18 Uhr
Goto Top
Und das in Verbindung mit der CSV ? ...

Ja klar. Das ist doch auch nur eine Option fuer wget.

wget --no-check-certificate -i MCL1.csv

Einfach manuel testen mit einem Bild und dann mit der Liste der Bilder die Du herunter laden willst.

BFF
BassFishFox
BassFishFox 17.11.2017 aktualisiert um 16:06:58 Uhr
Goto Top
Bissel mitarbeiten musst Du schon am Freidach..
Ist doch nur ein Leerzeichen zuviel. face-wink

Was fuer ein OS benutzt Du denn?

BFF
Yannosch
Yannosch 17.11.2017 um 16:09:28 Uhr
Goto Top
Win10 ...

Welches Leerzeichen?...

Sorry ... mein Kopf ist schon im Wochenende...
Pedant
Pedant 17.11.2017 um 16:18:11 Uhr
Goto Top
Hallo Yannosch,

Welches Leerzeichen?...

Das, das ich schon wieder gelöscht habe, siehe:
Nachtrag:
Ich hatte ein Leerzeichen zwischen -- und no gepostet,
das da nicht hingehört.

Gruß Frank
BassFishFox
Lösung BassFishFox 17.11.2017 um 16:24:23 Uhr
Goto Top
Das zwischen zwischen -- und no-check-certificate.

Egal.

Lade Dir mal dieses wget herunter. Nimm 32-bit und entpacke das in einen Ordner.
https://eternallybored.org/misc/wget/

Dann benutze die CMD (nicht die Administrative) und wechsele in den Ordner wo wget entpackt wurde.
In den selben Ordner kopierst Du die Datei mit der Liste der URL.

Das ist meine Liste :

liste.txt - notepad
Dann tippst Du
wget -i liste.txt
Ergibt bei mir.
2017-11-17 10_21_50-command prompt

Und die zwei Bilder sind im Ordner.

BFF
Pedant
Pedant 17.11.2017 um 16:50:29 Uhr
Goto Top
Hallo BassFischFox,

Dein WGet, Deine Liste und Deine Kommandozeile, dann erhalte ich "Bad file descriptor".
Connecting to www.xxxx.com (www.xxxx.com)|nnn.n.nn.nn|:443... failed: Bad file descriptor.

Gruß Frank
BassFishFox
BassFishFox 17.11.2017 um 16:51:06 Uhr
Goto Top
Hallo,

Wochenende ist erst am Montag. face-wink

Win10 ...

Dann koennstest Du das WSL (Windows Subsystem for Linux) installieren und all die Tools der Linuxwelt, wie wget usw, von dort direkt benutzen ohne erst irgendwas davon aus dem Netz herunter zu laden. Extremer Wille das zu tun ist natuerlich vorrausgesetzt, weil die Lernanforderung ist hoch. face-smile

BFF
Pedant
Pedant 17.11.2017 aktualisiert um 17:01:12 Uhr
Goto Top
Hallo,

wenn ich wget erlaube durch meine Firewall zu gehen, dann funktioniert's wie von BassFischFox beschrieben.
Verzeiht bitte die eventuelle Verwirrung, die ich gestiftet haben könnte.

Gruß Frank
BassFishFox
BassFishFox 17.11.2017 um 17:03:01 Uhr
Goto Top
Das macht ja gar keinen Spass. face-sad
Warum geht das nicht bei Dir? Die Liste ist nix weiter wie ein Textfile. OK, hier der Klartext.

2017-11-17 11_01_21-bilder aus dem web mit csv runterladen - bassfishfox - administrator.de

Kann doch nicht daran liegen, dass mein W10 englisch ist.

BFF
BassFishFox
BassFishFox 17.11.2017 um 17:04:11 Uhr
Goto Top
Das macht nen Kasten virtuelle BitBurger zum Wochenende!

BFF
134464
134464 17.11.2017 aktualisiert um 17:10:14 Uhr
Goto Top
Ohne externe Tools mit Powershell
$targetdir = "d:\download"  
gc 'd:\liste.csv' | %{iwr -Uri $_ -OutFile "$targetdir\$([IO.Path]::GetFilename($_))"}  
Pedant
Pedant 17.11.2017 um 17:21:54 Uhr
Goto Top
Hallo BassFishFox,

gut, geht klar, aber...

wenn Dein W10 englisch ist, dann vielleicht auch Deine "Bestellung".
Dann stellt sich die Frage sollen es BitBurger oder BitCheeseBurger sein oder lieber gleich die großen ByteCheeseBurger?

Gruß Frank
BassFishFox
BassFishFox 17.11.2017 um 17:26:43 Uhr
Goto Top
BitCoinBurger? face-wink

Kannst es dahin liefern lassen. face-wink

Schoenes WE face-smile
BFF
BassFishFox
BassFishFox 17.11.2017 um 17:57:26 Uhr
Goto Top
Danke!

Auf genau den habe ich gewartet. face-smile

Schoenes WE.
BFF
Yannosch
Yannosch 20.11.2017 um 10:42:31 Uhr
Goto Top
Zitat von @BassFishFox:

Das zwischen zwischen -- und no-check-certificate.

Egal.

Lade Dir mal dieses wget herunter. Nimm 32-bit und entpacke das in einen Ordner.
https://eternallybored.org/misc/wget/

Dann benutze die CMD (nicht die Administrative) und wechsele in den Ordner wo wget entpackt wurde.
In den selben Ordner kopierst Du die Datei mit der Liste der URL.

Das ist meine Liste :

liste.txt - notepad
Dann tippst Du
wget -i liste.txt
Ergibt bei mir.
2017-11-17 10_21_50-command prompt

Und die zwei Bilder sind im Ordner.

BFF

Besten Dank!

So funktioniert es wie es soll !

Gruß
Yannosch