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 快速排序代码
Nov 23 Python
Python学习笔记_数据排序方法
May 22 Python
在Django中创建第一个静态视图
Jul 15 Python
python socket多线程通讯实例分析(聊天室)
Apr 06 Python
Python编程实现生成特定范围内不重复多个随机数的2种方法
Apr 14 Python
Python实现邮件的批量发送的示例代码
Jan 23 Python
Python实现自定义顺序、排列写入数据到Excel的方法
Apr 23 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 Python
详解python列表(list)的使用技巧及高级操作
Aug 15 Python
Python脚本去除文件的只读性操作
Mar 05 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 Python
解决keras backend 越跑越慢问题
Jun 18 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/08/08 PHP
PHP写杨辉三角实例代码
2011/07/17 PHP
在win系统安装配置 Memcached for PHP 5.3 图文教程
2015/03/03 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
2015/03/24 PHP
如何使用GDB调试PHP程序
2015/12/08 PHP
php cookie 详解使用实例
2016/11/03 PHP
PHP数组内存利用率低和弱类型详细解读
2017/08/10 PHP
PHP7新特性
2021/03/09 PHP
JQuery 小练习(实例代码)
2009/08/07 Javascript
jQuery 扩展对input的一些操作方法
2009/10/30 Javascript
jquery.autocomplete修改实现键盘上下键自动填充示例
2013/11/19 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
JavaScript 实现鼠标拖动元素实例代码
2014/02/24 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
jquery常用方法及使用示例汇总
2014/11/08 Javascript
简介可以自动完成UI的AngularJS工具angular-smarty
2015/06/23 Javascript
JavaScript 巧学巧用
2017/05/23 Javascript
Vue实现web分页组件详解
2017/11/28 Javascript
vue-router history模式下的微信分享小结
2018/07/05 Javascript
nodejs提示:cross-device link not permitted, rename错误的解决方法
2019/06/10 NodeJs
javascript二维数组和对象的深拷贝与浅拷贝实例分析
2019/10/26 Javascript
vue实现拖拽效果
2019/12/23 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
python自动化测试之从命令行运行测试用例with verbosity
2014/09/28 Python
MySQL中表的复制以及大型数据表的备份教程
2015/11/25 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
详解python破解zip文件密码的方法
2020/01/13 Python
将python文件打包exe独立运行程序方法详解
2020/02/12 Python
Python过滤掉numpy.array中非nan数据实例
2020/06/08 Python
Python约瑟夫生者死者小游戏实例讲解
2021/01/04 Python
使用phonegap获取位置信息的实现方法
2017/03/31 HTML / CSS
欧洲最大的化妆品连锁公司:Douglas道格拉斯
2017/05/06 全球购物
Harrods英国:世界领先的奢侈品百货商店
2020/09/23 全球购物
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
2014年电话客服工作总结
2014/12/09 职场文书
数据分析数据库ClickHouse在大数据领域应用实践
2022/04/03 MySQL