Download and save a picture - urllib
Diez B. Roggisch
deets at nospam.web.de
Thu Sep 10 18:56:07 CEST 2009
> Hi all, in order to download an image. In order to correctly retrieve the
> image I need to set the referer and handle cookies.
> opener = urllib.request.build_opener(urllib.request.HTTPRedirectHandler
> (), urllib.request.HTTPCookieProcessor())
> req = urllib.request.Request("http://myurl/image.jpg")
> req.add_header("Referer", "http://myulr/referer.jsp")
> r = urllib.request.urlopen(req)
> with open("image.jpg", "w" ) as fd:
> print(r.read(), file=fd)
> I'm not able to correctly save the image. In fact it seems that it it
> saved in hex format. Any suggestion?
How do you come to the conclusion that it's saved as "hex"? It sure isn't -
either the request fails because the website doesn't allow it due to
missing cookies or similar stuff - or you get the binary data.
But you should be aware that in the interpreter, strings are printed out
with repr() - which will convert non-printable characters to their
hex-representation to prevent encoding/binary-data-on-teriminal-issues.
More information about the Python-list