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/ironpython:从入门到精通
Oct 02 Python
Django框架中数据的连锁查询和限制返回数据的方法
Jul 17 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
Jun 05 Python
python爬虫之百度API调用方法
Jun 11 Python
Python基于OpenCV实现视频的人脸检测
Jan 23 Python
Python 面试中 8 个必考问题
Nov 16 Python
快速解决docker-py api版本不兼容的问题
Aug 30 Python
Python上下文管理器类和上下文管理器装饰器contextmanager用法实例分析
Nov 07 Python
基于torch.where和布尔索引的速度比较
Jan 02 Python
python如何使用Redis构建分布式锁
Jan 16 Python
在Python中使用K-Means聚类和PCA主成分分析进行图像压缩
Apr 10 Python
python脚本使用阿里云slb对恶意攻击进行封堵的实现
Feb 04 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中的字符串函数
2006/11/24 PHP
Linux系统下php获得系统分区信息的方法
2015/03/30 PHP
php中preg_replace正则替换用法分析【一次替换多个值】
2017/01/17 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
用htc组件制作windows选项卡
2007/01/13 Javascript
修改发贴的编辑功能
2007/03/07 Javascript
javascript 页面划词搜索JS
2009/09/28 Javascript
JavaScript实现显示函数调用堆栈的方法
2016/04/21 Javascript
jquery checkbox无法用attr()二次勾选问题的解决方法
2016/07/22 Javascript
jQuery实现智能判断固定导航条或侧边栏的方法
2016/09/04 Javascript
jQuery扩展_动力节点Java学院整理
2017/07/05 jQuery
简单实现js轮播图效果
2017/07/14 Javascript
vue中配置mint-ui报css错误问题的解决方法
2017/10/11 Javascript
ui-router中使用ocLazyLoad和resolve的具体方法
2017/10/18 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
vue实现跳转接口push 转场动画示例
2019/11/01 Javascript
VSCode launch.json配置详细教程
2020/06/18 Javascript
Python实现邮件的批量发送的示例代码
2018/01/23 Python
Python selenium抓取微博内容的示例代码
2018/05/17 Python
Python判断一个文件夹内哪些文件是图片的实例
2018/12/07 Python
python匹配两个短语之间的字符实例
2018/12/25 Python
关于python导入模块import与常见的模块详解
2019/08/28 Python
如何在VSCode下使用Jupyter的教程详解
2020/07/13 Python
html5中的input新属性range使用记录
2014/09/05 HTML / CSS
机电专业大学生求职信
2013/10/04 职场文书
会计电算化专业个人的自我评价
2013/11/24 职场文书
汽车技术服务英文求职信范文
2014/01/02 职场文书
销售辞职报告范文
2014/01/12 职场文书
20年同学聚会邀请函
2014/02/04 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
幼儿园见习报告
2014/10/30 职场文书
岗位聘任协议书
2015/09/21 职场文书
2016创先争优活动党员公开承诺书
2016/03/24 职场文书
mysql死锁和分库分表问题详解
2021/04/16 MySQL
go语言中json数据的读取和写出操作
2021/04/28 Golang