【发布时间】:2015-06-18 03:28:22
【问题描述】:
我正在尝试获取包含变音符号 (í,č...) 的页面的 html。问题是urllib2.quote 似乎没有像我预期的那样工作。
就我而言,quote 应该将包含变音符号的 url 转换为正确的 url。
这是一个例子:
url = 'http://www.example.com/vydavatelství/'
print urllib2.quote(url)
>> http%3A//www.example.com/vydavatelstv%C3%AD/
问题在于它出于某种原因更改了http// 字符串。然后urllib2.urlopen(req)返回错误:
响应 = urllib2.urlopen(req)
文件“C:\Python27\lib\urllib2.py”,第 154 行,在 urlopen 返回 opener.open(url, 数据, 超时) 文件“C:\Python27\lib\urllib2.py”,第 437 行,打开 response = meth(req, response)
http_response 中的文件“C:\Python27\lib\urllib2.py”,第 550 行 'http'、请求、响应、代码、味精、hdrs)
文件“C:\Python27\lib\urllib2.py”,第 475 行,错误 返回 self._call_chain(*args)
_call_chain 中的文件“C:\Python27\lib\urllib2.py”,第 409 行 结果 = func(*args)
http_error_default 中的文件“C:\Python27\lib\urllib2.py”,第 558 行 引发 HTTPError(req.get_full_url(), 代码, msg, hdrs, fp)
urllib2.HTTPError:HTTP 错误 400:错误请求
【问题讨论】:
-
你试过把# -- coding: utf-8 -- 放在你的脚本顶部吗??