Bilder-download-script

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
Blindschleiche
User
Beiträge: 2
Registriert: Dienstag 12. September 2006, 12:52

Dienstag 12. September 2006, 13:11

Hallo zusammen.

hab mir ein kleines Skript geschrieben welches mir aus dem quelltext einer html-Seite die URLs von Bilder raussucht, diese laedt und speichert. Unter Linux funktioniert das einwandfrei auch unter Windows kommen keine Fehlermeldungen.
Jedoch sind die bei Windows geschriebenen jpg-Dateien alle schwarz. Die dateien sind genauso gross wie die unter Linux (Red Hat), nur, egal mit welchem programm ich die oeffnen will, es sind immer schwarze bilder. Wenn ich eine solche jpg-Datei mit Paint oeffnen will kommt die fehlermeldung:

"Datei konnte nicht gelesen werden. Dies ist keine gueltige Bitmapdatei, oder das Format wird nicht unterstuetzt."

anbei schonmal mein Skript:

Code: Alles auswählen

import os
import urllib2

os.system("grep \"  image_original\\[\" userwebsite.htm > links0")
os.system("grep -o \"http.*jpg\" links0 > links")

fp = open("links")
i = 1
url = fp.readline()

while (url):
    filename = "IMG"

    if( i < 100 ) :
        filename = "IMG0"
    if( i < 10 ) :
        filename = "IMG00"

    filename += str(i) + ".JPG"
    img = urllib2.urlopen(url)

    savefp = open(filename,"w")
    savefp.write( img.read() )
    savefp.close()

    i+=1
    url = fp.readline()
selbst wenn ich mir die unter Linux runtergeladenen Bilder nach windows kopiere kann ich die einwandfrei oeffnen...
Ich verstehe nicht was bei Windows anders laeuft als bei Linux.
Wobei..... wer versteht Windoof ehhhhh Windows schon...???? ;-)

waere euch sehr verbunden wenn mir einer weiterhelfen kann.

greez
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Dienstag 12. September 2006, 14:21

Probier mal

Code: Alles auswählen

f = open(filename, 'wb')
anstatt

Code: Alles auswählen

f = open(filename, 'w')
Das sollte helfen
TUFKAB – the user formerly known as blackbird
Blindschleiche
User
Beiträge: 2
Registriert: Dienstag 12. September 2006, 12:52

Dienstag 12. September 2006, 14:23

......super... danke...
hat geklapt.

ciao
Antworten