错误在下载和使用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' 
+0

谢谢它真的解决了我的问题 – user244470 2010-02-17 08:53:28