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运行效率
Jun 09 Python
使用Python将数组的元素导出到变量中(unpacking)
Oct 27 Python
解决Python requests 报错方法集锦
Mar 19 Python
老生常谈进程线程协程那些事儿
Jul 24 Python
python实现kMeans算法
Dec 21 Python
python实现对指定输入的字符串逆序输出的6种方法
Apr 26 Python
python实现决策树分类(2)
Aug 30 Python
selenium+python环境配置教程详解
May 28 Python
python实现批量修改服务器密码的方法
Aug 13 Python
python实现飞机大战小游戏
Nov 08 Python
python 实现德洛内三角剖分的操作
Apr 22 Python
python控制台打印log输出重复的解决方法
May 14 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文件操作实现代码分享
2011/09/01 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
iOS自定义提示弹出框实现类似UIAlertView的效果
2016/11/16 PHP
从零开始学习jQuery (二) 万能的选择器
2010/10/01 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
2011/03/10 Javascript
window.dialogArguments 使用说明
2011/04/11 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
2014/01/13 Javascript
Jquery网页内滑动缓冲导航的实现代码
2015/04/05 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
vuejs动态组件给子组件传递数据的方法详解
2016/09/09 Javascript
微信小程序实现图片预加载组件
2017/01/18 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
关于JS与jQuery中的文档加载问题
2017/08/22 jQuery
javascript基本常用排序算法解析
2017/09/27 Javascript
手把手教你如何使用nodejs编写cli命令行
2018/11/05 NodeJs
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
快速实现基于Python的微信聊天机器人示例代码
2017/03/03 Python
python微信公众号开发简单流程
2018/03/23 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
python实现LBP方法提取图像纹理特征实现分类的步骤
2019/07/11 Python
使用pytorch完成kaggle猫狗图像识别方式
2020/01/10 Python
纯css3无js实现的Android Logo(有简单动画)
2013/01/21 HTML / CSS
阿里旅行:飞猪
2017/01/05 全球购物
Max&Co官网:意大利年轻女性时尚品牌
2017/05/16 全球购物
Funko官方商店:源自美国,畅销全球搪胶收藏玩偶
2018/09/15 全球购物
对象的序列化(serialization)类是面向流的,应如何将对象写入到随机存取文件中
2015/06/22 面试题
员工考核管理制度
2014/02/02 职场文书
差生评语大全
2014/05/04 职场文书
2014年小学教导处工作总结
2014/12/19 职场文书
物业前台接待岗位职责
2015/04/03 职场文书
法制主题班会教案
2015/08/13 职场文书
MYSQL(电话号码,身份证)数据脱敏的实现
2021/05/28 MySQL
深入理解Pytorch微调torchvision模型
2021/11/11 Python