Python img Download - HTTP Error 404: Not Found
Verfasst: Montag 19. August 2019, 06:10
Hallo liebe Forenmitglieder,
folgendes Problem:
auf dem Rechner (BS: Linux mint 19.2) habe ich die Python IDE Pycharm 2019.2 mit python3.6 installiert.
Hier funktioniert das downloaden einer image-Datei eines bestimmten Servers ohne Probleme:
wenn ich nun via Diskstation von Synology die .py Datei einplane, bricht diese Verarbeitung immer ab.
Nach ein wenig suchen konnte ich zumindest den genaueren Fehler per Exception ausgeben:
"HTTP Error 404: Not Found"
dies ist sehr mysteriös, da die URL im Browser (Firefox) immer das Bild zeigt.
Probiert habe ich neben urlretrieve auch mal einfach das Modul urlopen von urllib.request und dabei mal den header geändert um zu sehen, ob die Seite auch so mal geöffnet werden kann.
(Auf dem Rechner ging es wieder mal ohne Probleme)
(den User-Agent hatte ich mir aus dem Firefox kopiert)
Leider kein Erfolg auf der Diskstation. Auch den gesamten Header von Firefox hatte ich mal versucht zu nutzen, auch kein Erfolg ...
Somit konnte ich auch das Modul shutil für die Erstellung einer Bild-Datei nicht nutzen.
Im Grunde funktioniert aber das Modul urlretrieve auch auf der DS, da z.B. das Bild:
ext/planetstyles/flightdeck/store/site_logo.gif
heruntergeladen werden konnte (hier ist die Endung, ob .jpg / .gif oder .png unerheblich):
Also alles sehr mysteriös. Und auf Python 2.7 wollt ich nicht umsteigen, da dies eher ein Auslaufmodell sein wird.
Nichts desto trotz habe ich auch versucht, mit dem Modul "Requests" eine Verbindung herzustellen (hier war das "installieren des Moduls" auf der DS ganz schön tricky),
aber auch hier: kein Erfolg.
Daher wende ich mich mal an Euch.
Vielleicht hat noch jemand eine Idee.
folgendes Problem:
auf dem Rechner (BS: Linux mint 19.2) habe ich die Python IDE Pycharm 2019.2 mit python3.6 installiert.
Hier funktioniert das downloaden einer image-Datei eines bestimmten Servers ohne Probleme:
Code: Alles auswählen
from urllib.request import urlretrieve
image_url = 'http://11.11.111.11/unterordner/unterordner/unterordner/Bild.jpg'
file_name = '1.jpg'
urlretrieve(image_url, file_name)
Nach ein wenig suchen konnte ich zumindest den genaueren Fehler per Exception ausgeben:
"HTTP Error 404: Not Found"
dies ist sehr mysteriös, da die URL im Browser (Firefox) immer das Bild zeigt.
Probiert habe ich neben urlretrieve auch mal einfach das Modul urlopen von urllib.request und dabei mal den header geändert um zu sehen, ob die Seite auch so mal geöffnet werden kann.
(Auf dem Rechner ging es wieder mal ohne Probleme)
Code: Alles auswählen
import utllib
headers = {}
headers['User-Agent'] = 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0'
url='http://.....'
req = urllib.request.Request(url, headers = headers)
try:
resp = urllib.request.urlopen(req)
except Exception as e:
print(str(e))
Leider kein Erfolg auf der Diskstation. Auch den gesamten Header von Firefox hatte ich mal versucht zu nutzen, auch kein Erfolg ...
Somit konnte ich auch das Modul shutil für die Erstellung einer Bild-Datei nicht nutzen.
Im Grunde funktioniert aber das Modul urlretrieve auch auf der DS, da z.B. das Bild:
ext/planetstyles/flightdeck/store/site_logo.gif
heruntergeladen werden konnte (hier ist die Endung, ob .jpg / .gif oder .png unerheblich):
Code: Alles auswählen
from urllib.request import urlretrieve
image_url = 'https://www.python-forum.de/ext/planetstyles/flightdeck/store/site_logo.gif'
file_name = '1.gif'
urlretrieve(image_url, file_name)
Nichts desto trotz habe ich auch versucht, mit dem Modul "Requests" eine Verbindung herzustellen (hier war das "installieren des Moduls" auf der DS ganz schön tricky),
aber auch hier: kein Erfolg.
Daher wende ich mich mal an Euch.
Vielleicht hat noch jemand eine Idee.