我在 Windows 8 中使用 python 3.3.0。
requrl = urllib.request.Request(url)
response = urllib.request.urlopen(requrl)
source = response.read()
source = source.decode('utf-8')
如果网站有字符集,它会正常工作,utf-8
但如果它有iso-8859-1
或任何其他charset
. 意味着我可能有不同的网站网址和不同的字符集。那么,如何处理多个字符集呢?
现在让我告诉你我在尝试解决这个问题时所做的努力,例如:
b1 = b'charset=iso-8859-1'
b1 = b1.decode('iso-8859-1')
if b1 in source:
source = source.decode('iso-8859-1')
它给了我一个错误,TypeError: Type str doesn't support the buffer API
所以,我假设它正在将 b1 视为字符串!这不是正确的方法!:(
请不要说手动更改源代码中的字符集或阅读 python 文档!我已经尝试将头投入到 python 3 文档中,但仍然没有运气,或者我可能没有选择正确的模块/内容来阅读!