错误在下载和使用python
问题描述:
我写从一个网站。它的工作很好地下载和保存图像的编码保存图像,但对于某些URL它是显示一个error.I低于错误在下载和使用python
import urllib2
import webbrowser
imageurl='http://www.example.com/'+image[s]
opener1 = urllib2.build_opener()
page1=opener1.open(imageurl)
my_picture=page1.read()
image1=image[s].replace("/","")
fout = open('images/tony/'+image1, "wb")
fout.write(my_picture)
fout.close()
粘贴代码
其实我得到图像[秒]的许多值,并且当图像的值[S] =图像/ PG013001 GROUP 2.JPG,编译器提供了一个错误
File "leather.py", line 37, in get_leather page1=opener1.open(imageurl) File "D:\Program Files\Python\lib\urllib2.py", line 395, in open response = meth(req, response) File "D:\Program Files\Python\lib\urllib2.py", line 508, in http_response 'http', request, response, code, msg, hdrs) File "D:\Program Files\Python\lib\urllib2.py", line 433, in error return self._call_chain(*args) File "D:\Program Files\Python\lib\urllib2.py", line 367, in _call_chain result = func(*args) File "D:\Program Files\Python\lib\urllib2.py", line 516, in http_error_default raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) urllib2.HTTPError: HTTP Error 404: Not Found
我认为是工作几乎condition.But对应imageurl即'http://www.example.com/images/PG013001 GROUP 2.jpg'doesn,t exist,but when it is检查它存在。请建议修理
问候
答
网址不能直接包含空格;它根本不被允许。你想要做的是引用或编码文件名中的空格,这样url就变成合法的。 Here's wikipedia on the matter.
所以,你想引用你传递给urllib2的url。在你的代码中,你可以通过改变这一行来做到这一点,看起来像这样:
page1=opener1.open(urllib2.quote(imageurl))
oughta do it。
答
您应该修复链接。试试这个:
>>> import urllib
>>> urllib.quote("images/PG013001 GROUP 2.jpg")
'images/PG013001%20GROUP%202.jpg'
谢谢它真的解决了我的问题 – user244470 2010-02-17 08:53:28