Bilddateien über http lokal speichern?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
rabit
User
Beiträge: 11
Registriert: Freitag 1. Februar 2008, 15:01

Hallo,

ich bin noch Anfänger und nutze Python mehr als lokalen php Ersatz...

Meine Frage:
Mit urllib2 kann man problemlos Webseiten laden. Nur wie geht das mit Bildern? Wenn ich das gleiche mache wie mit html Seiten und dann lokal wieder als .jpg oder .gif speichere sieht das Ergebnis dem Original zwar ähnlich, mehr aber auch nicht.

Beispiel:

Code: Alles auswählen

import urllib2
url = "http://www.python-forum.de/templates/subSilver/images/logo_phpBB.gif"
htmlFile = urllib2.urlopen(url)
htmlData = htmlFile.read()
bilddatei = open('python.gif', 'w')
bilddatei.write(htmlData)
Danke für einen Tipp, kann ja so schwer nicht sein.

Grüße
rabit
fred.reichbier
User
Beiträge: 155
Registriert: Freitag 29. Dezember 2006, 18:27

Hallo,

Vielleicht funktioniert es, wenn du die Datei im Binärschreibmodus (oder so :p) öffnest?

Code: Alles auswählen

bilddatei = open('python.gif', 'wb')
Und .close nicht vergessen :)

Gruß Fred
rabit
User
Beiträge: 11
Registriert: Freitag 1. Februar 2008, 15:01

Sag ich doch! Kann so schwer nicht sein ;)

Danke!

Grüße
rabit
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Wirf noch mal einen Blick auf die Funktion "urlretrieve" im Modul "urllib". Die macht im Prinzip schon das was du (laut Beispiel) möchtest.
rabit
User
Beiträge: 11
Registriert: Freitag 1. Februar 2008, 15:01

Ja es geht auch so:

Code: Alles auswählen

url = "http://www.python-forum.de/templates/subSilver/images/logo_phpBB.gif"
res = urllib.urlretrieve(url, "python.gif")
Antworten