无法在 urllib2 中打开某些仍可在浏览器中打开的 url?
unable to open some url in urllib2 which can still be openned in browsers?
我可以在 firefox 或 chrome 中打开这个 url,但我无法用 urllib2 打开它。
>>> req = urllib2.Request(r"http://ratedata.gaincapital.com/2014/. January", headers={'User-Agent' : "Mozilla/5.1"})
>>> urllib2.urlopen(req)
Traceback (most recent call last):
File "<pyshell#134>", line 1, in <module>
urllib2.urlopen(req)
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 400: Bad Request
很奇怪url但我该如何解决这个问题?
用%20
替换白色space
>>> req = urllib2.Request(r"http://ratedata.gaincapital.com/2014/.%20January", headers={'User-Agent' : "Mozilla/5.1"})
>>> urllib2.urlopen(req)
<addinfourl at 139708797193896 whose fp = <socket._fileobject object at 0x7f10820eb2d0>>
我可以在 firefox 或 chrome 中打开这个 url,但我无法用 urllib2 打开它。
>>> req = urllib2.Request(r"http://ratedata.gaincapital.com/2014/. January", headers={'User-Agent' : "Mozilla/5.1"})
>>> urllib2.urlopen(req)
Traceback (most recent call last):
File "<pyshell#134>", line 1, in <module>
urllib2.urlopen(req)
File "/usr/lib/python2.7/urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib/python2.7/urllib2.py", line 410, in open
response = meth(req, response)
File "/usr/lib/python2.7/urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "/usr/lib/python2.7/urllib2.py", line 448, in error
return self._call_chain(*args)
File "/usr/lib/python2.7/urllib2.py", line 382, in _call_chain
result = func(*args)
File "/usr/lib/python2.7/urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 400: Bad Request
很奇怪url但我该如何解决这个问题?
用%20
>>> req = urllib2.Request(r"http://ratedata.gaincapital.com/2014/.%20January", headers={'User-Agent' : "Mozilla/5.1"})
>>> urllib2.urlopen(req)
<addinfourl at 139708797193896 whose fp = <socket._fileobject object at 0x7f10820eb2d0>>