Seite 1 von 1

Bilddateien über http lokal speichern?

Verfasst: Samstag 9. Februar 2008, 20:54
von rabit
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

Verfasst: Samstag 9. Februar 2008, 21:05
von fred.reichbier
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

Verfasst: Samstag 9. Februar 2008, 21:15
von rabit
Sag ich doch! Kann so schwer nicht sein ;)

Danke!

Grüße
rabit

Verfasst: Samstag 9. Februar 2008, 21:58
von EyDu
Wirf noch mal einen Blick auf die Funktion "urlretrieve" im Modul "urllib". Die macht im Prinzip schon das was du (laut Beispiel) möchtest.

Verfasst: Samstag 9. Februar 2008, 23:02
von rabit
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")