时间:2021-05-22
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).texthtml = etree.HTML(response)name = html.xpath("/html/body/div[2]/ul/li[1]/a/p/text()")[0]print(name)可以正常获取数据,但是结果是
å·²éªè¯ å®å ¨ ç¾ç
这样子的乱码
解决方法:
name = html.xpath("/html/body/div[2]/ul/li[1]/a/p/text()")[0].encode('ISO-8859-1').decode('UTF-8')
这边的UTF-8根据网页编码情况而定
看网页编码情况
F12
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
序列化中文时之所以乱码是因为.serialize()调用了encodeURLComponent方法将数据编码了解决方法就是进行解码原因:.serialize()
关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换、还包括一些如日文、韩文、俄文、藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明。网络爬虫
一、乱码问题描述经常在爬虫或者一些操作的时候,经常会出现中文乱码等问题,如下原因是源网页编码和爬取下来后的编码格式不一致二、利用encode与decode解决乱
在项目中发现这样一个问题:sqlserver数据库编码为gbk,使用python3.4+pymssql查询,中文乱码,经过一番思考问题解决,下面把解决办法分享给
linux系统中linux默认的是utf8编码,而windows是gbk编码,所以会出现上面的乱码问题。解决mysql导入导出数据乱码问题首先要做的是要确定你导