Python爬虫基于lxml解决数据编码乱码问题


Posted in Python onJuly 31, 2020

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)

可以正常获取数据,但是结果是

已验证 安全 盾牌

这样子的乱码

解决方法:

name = html.xpath("/html/body/div[2]/ul/li[1]/a/p/text()")[0].encode('ISO-8859-1').decode('UTF-8')

这边的UTF-8根据网页编码情况而定

看网页编码情况

F12

Python爬虫基于lxml解决数据编码乱码问题

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python代理抓取并验证使用多线程实现
May 03 Python
解析Python编程中的包结构
Oct 25 Python
Python编程实现微信企业号文本消息推送功能示例
Aug 21 Python
opencv python 2D直方图的示例代码
Jul 20 Python
python操作kafka实践的示例代码
Jun 19 Python
python  文件的基本操作 菜中菜功能的实例代码
Jul 17 Python
python UDP(udp)协议发送和接收的实例
Jul 22 Python
TensorFlow设置日志级别的几种方式小结
Feb 04 Python
TensorFlow 读取CSV数据的实例
Feb 05 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
Feb 21 Python
python爬虫开发之使用Python爬虫库requests多线程抓取猫眼电影TOP100实例
Mar 10 Python
python3.7添加dlib模块的方法
Jul 01 Python
Python如何定义有可选参数的元类
Jul 31 #Python
Python爬虫爬取糗事百科段子实例分享
Jul 31 #Python
Python如何对齐字符串
Jul 30 #Python
Python3爬虫关于代理池的维护详解
Jul 30 #Python
Python读写压缩文件的方法
Jul 30 #Python
Python3爬虫里关于代理的设置总结
Jul 30 #Python
Python 如何创建一个简单的REST接口
Jul 30 #Python
You might like
PHP 返回13位时间戳的实现代码
2016/05/13 PHP
php、java、android、ios通用的3des方法(推荐)
2016/09/09 PHP
JS中style属性
2006/10/11 Javascript
16个最流行的JavaScript框架[推荐]
2011/05/29 Javascript
自动刷新网页,自动刷新当前页面,JS调用
2013/06/24 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
Javascript异步编程模型Promise模式详细介绍
2014/05/08 Javascript
JavaScript使用指针操作实现约瑟夫问题实例
2015/04/07 Javascript
页面内容排序插件jSort使用方法
2015/10/10 Javascript
TypeScript Type Innference(类型判断)
2016/03/10 Javascript
Node.js文件操作方法汇总
2016/03/22 Javascript
Extjs让combobox写起来简洁又漂亮
2017/01/05 Javascript
vue组件生命周期详解
2017/11/07 Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
2017/12/01 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
JS/HTML5游戏常用算法之路径搜索算法 A*寻路算法完整实例
2018/12/14 Javascript
iview的table组件自带的过滤器实现
2019/07/12 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
angula中使用iframe点击后不执行变更检测的问题
2020/05/10 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
python实现读取命令行参数的方法
2015/05/22 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
python中如何实现将数据分成训练集与测试集的方法
2019/09/13 Python
python爬虫 正则表达式解析
2019/09/28 Python
pytorch+lstm实现的pos示例
2020/01/14 Python
pycharm工具连接mysql数据库失败问题
2020/04/01 Python
使用anaconda安装pytorch的实现步骤
2020/09/03 Python
Pytorch实验常用代码段汇总
2020/11/19 Python
意大利单身交友网站:Meetic
2020/07/12 全球购物
护士见习期自我鉴定
2014/02/08 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
2014年乡镇工会工作总结
2014/12/02 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
《比尾巴》教学反思
2016/02/24 职场文书