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自动化测试之连接几组测试包实例
Sep 28 Python
Python的requests网络编程包使用教程
Jul 11 Python
Python 数据结构之旋转链表
Feb 25 Python
解决python3 pika之连接断开的问题
Dec 18 Python
python pytest进阶之fixture详解
Jun 27 Python
使用Python实现图像标记点的坐标输出功能
Aug 14 Python
Python 3 使用Pillow生成漂亮的分形树图片
Dec 24 Python
如何更改 pandas dataframe 中两列的位置
Dec 27 Python
利用python实现凯撒密码加解密功能
Mar 31 Python
Python实现转换图片背景颜色代码
Apr 30 Python
Python通过getattr函数获取对象的属性值
Oct 16 Python
20行代码教你用python给证件照换底色的方法示例
Feb 05 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 常用类汇总 推荐收藏
2010/05/13 PHP
PHP实现生成数据字典功能示例
2018/05/24 PHP
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
javascript Array 数组常用方法
2015/04/05 Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
2015/05/14 Javascript
javascript实现动态标签云
2015/10/16 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
原生js实现打字动画游戏
2017/02/04 Javascript
JS实现本地存储信息的方法(基于localStorage与userData)
2017/02/18 Javascript
vuejs实现递归树型菜单组件
2018/01/13 Javascript
Vue封装的组件全局注册并引用
2019/07/24 Javascript
使用axios发送post请求,将JSON数据改为form类型的示例
2019/10/31 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
利用python获得时间的实例说明
2013/03/25 Python
Python中的多重装饰器
2015/04/11 Python
Python中用altzone()方法处理时区的教程
2015/05/22 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
python读取文本中的坐标方法
2018/10/14 Python
python调用c++传递数组的实例
2019/02/13 Python
Python 使用PyQt5 完成选择文件或目录的对话框方法
2019/06/27 Python
Python使用ffmpy将amr格式的音频转化为mp3格式的例子
2019/08/08 Python
Python3 requests文件下载 期间显示文件信息和下载进度代码实例
2019/08/16 Python
Kmeans均值聚类算法原理以及Python如何实现
2020/09/26 Python
python自动化测试三部曲之request+django实现接口测试
2020/10/07 Python
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
分享一个页面平滑滚动小技巧(推荐)
2019/10/23 HTML / CSS
雅诗兰黛旗下走天然植物路线的彩妆品牌:Prescriptives
2016/08/14 全球购物
香港优质食材和美酒专门店:FoodWise
2017/09/01 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
毕业生求职简历的自我评价
2013/10/23 职场文书
中专毕业生个人职业生涯规划
2014/02/19 职场文书
留学推荐信中文范文
2015/03/26 职场文书
MySQL分库分表详情
2021/09/25 MySQL
Python之matplotlib绘制折线图
2022/04/13 Python