browser = mechanize.Browser()
page = browser.open(url)
html = page.get_data()

print html

它显示了一些奇怪的字符。我想它是 UTF-8 字符串,但 Python 不知道并且无法正确显示它。

如何将此字符串转换为 unicode 字符串,例如
u = u'test'

最佳答案

它被压缩了

def ungzipResponse(r,b):
    headers = r.info()
    if headers['Content-Encoding']=='gzip':
        import gzip
        gz = gzip.GzipFile(fileobj=r, mode='rb')
        html = gz.read()
        gz.close()
        headers["Content-type"] = "text/html; charset=utf-8"
        r.set_data( html )
        b.set_response(r)

response = browser.open(url)
ungzipResponse(response, browser)
html = response.read()

关于python - 使用 mechanize 和 Python 2.6 下载 HTML 的编码问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3804572/

10-14 18:24
查看更多