Python爬虫基于lxml解决数据编码乱码问题
(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )
lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高
XPath,全称XML Path Language,即XML路径语言,它是一门在XML文档中查找信息的语言,它最初是用来搜寻XML文档的,但是它同样适用于HTML文档的搜索
XPath的选择功能十分强大,它提供了非常简明的路径选择表达式,另外,它还提供了超过100个内建函数,用于字符串、数值、时间的匹配以及节点、序列的处理等,几乎所有我们想要定位的节点,都可以用XPath来选择
XPath于1999年11月16日成为W3C标准,它被设计为供XSLT、XPointer以及其他XML解析软件使用,更多的文档可以访问其官方网站:https://www.w3.org/TR/xpath/
问题状况:
response = requests.get(url=url, headers=headers).text html = etree.HTML(response) name = html.xpath("/html/body/div[2]/ul/li[1]/a/p/text()")[0] print(name)
可以正常获取数据,但是结果是
å·²éª"/html/body/div[2]/ul/li[1]/a/p/text()")[0].encode('ISO-8859-1').decode('UTF-8')
这边的UTF-8根据网页编码情况而定
看网页编码情况
F12
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
下一篇:Python如何定义有可选参数的元类