美文网首页
爬中文网站,用lxml解析,乱码问题

爬中文网站,用lxml解析,乱码问题

作者: lilith买买买 | 来源:发表于2018-04-09 10:38 被阅读1193次

    问题

    爬中文网站,用lxml.etree的xpath解析,取出来的的文字打印出来是这样的乱码:
    �������个������好������罪������京�中����500�������人���们���对�
    头大TT

    过程

    看过网页源码<meta charset="UTF-8">没毛病啊!
    取部分文字出来看:

    In: s
    Out: u'\r\n \xe6\x97\xa5\xe6\x9c\xac\xe5\x86\xb3\xe5\xae\x9a\xe6\x88\x90\xe7\xab\x8b\xe4\xb8\x80\xe4\xb8\xaa\xe6\x96\xb0\xe7\x9a\x84\xe6\x9c\xba\xe6\x9e\x84\xe6\x9d\xa5\xe6\x9b\xb4\xe5\xa5\xbd\xe5\x9c\xb0\xe5\xa4\x84\xe7\x90\x86\xe7\xbd\x91\xe7\xbb\x9c\xe7\x8a\xaf\xe7\xbd\xaa\xe3\x80\x82\xe6\x80\xbb\xe9\x83\xa8\xe4\xbd\x8d\xe4\xba\x8e\xe4\xb8\x9c\xe4\xba\xac\xe7\x9a\x84\xe4\xb8\xad\xe5\xbf\x83\xe6\xb1\x87\xe8\x81\x9a\xe4\xba\x86500\xe5\x90\x8d\xe5\x88\x86\xe6\x9e\x90\xe5\xb8\x88\xe5\x92\x8c\xe8\xb0\x83\xe6\x9f\xa5\xe4\xba\xba\xe5\x91\x98\xef\xbc\x8c\xe4\xbb\x96\xe4\xbb\xac\xe4\xb9\x9f\xe5\xb0\x86\xe4\xbc\x9a\xe5\xaf\xb9\xe4\xbb\x98'

    In: type(s)
    Out: lxml.etree._ElementUnicodeResult

    解决

    修改源代码的编码格式

    r.encoding = 'utf-8'
    r.xpath = etree.HTML(r.text).xpath

    r.xpath('//h1[@class="article-title"]/text()'')取到的中文就正常了

    相关文章

      网友评论

          本文标题:爬中文网站,用lxml解析,乱码问题

          本文链接:https://www.haomeiwen.com/subject/bybbhftx.html