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字符串匹配算法KMP实例
Jul 18 Python
python中numpy包使用教程之数组和相关操作详解
Jul 30 Python
python 3.6 tkinter+urllib+json实现火车车次信息查询功能
Dec 20 Python
Python基于高斯消元法计算线性方程组示例
Jan 17 Python
python3+PyQt5+Qt Designer实现扩展对话框
Apr 20 Python
python实现写数字文件名的递增保存文件方法
Oct 25 Python
python 有效的括号的实现代码示例
Nov 11 Python
python生成任意频率正弦波方式
Feb 25 Python
python字典通过值反查键的实现(简洁写法)
Sep 30 Python
聊聊pytorch测试的时候为何要加上model.eval()
May 23 Python
Django路由层如何获取正确的url
Jul 15 Python
Django框架中表单的用法
Jun 10 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中的fopen()函数用打开文件模式说明
2013/06/20 PHP
PHP 正则表达式小结
2015/02/12 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
php获取当前月与上个月月初及月末时间戳的方法
2016/12/05 PHP
js实现支持手机滑动切换的轮播图片效果实例
2015/04/29 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
Vue2.x中的父子组件相互通信的实现方法
2017/05/02 Javascript
JS请求servlet功能示例
2017/06/01 Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
2017/06/27 Javascript
JS二分查找算法详解
2017/11/01 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
Vue+Express实现登录状态权限验证的示例代码
2019/05/05 Javascript
在vue-cli 3中给stylus、sass样式传入共享的全局变量
2019/08/12 Javascript
vue之延时刷新实例
2019/11/14 Javascript
Python编写电话薄实现增删改查功能
2016/05/07 Python
python中range()与xrange()用法分析
2016/09/21 Python
python实现协同过滤推荐算法完整代码示例
2017/12/15 Python
python单例模式获取IP代理的方法详解
2018/09/13 Python
python3实现爬取淘宝美食代码分享
2018/09/23 Python
Lombok插件安装(IDEA)及配置jar包使用详解
2020/11/04 Python
CSS实现定位元素居中的方法
2015/06/23 HTML / CSS
把富文本的回车转为br标签
2019/08/09 HTML / CSS
荷兰鞋子在线:Nelson Schoenen
2017/12/25 全球购物
高级护理实习生自荐信
2013/09/28 职场文书
信息专业本科生个人的自我评价
2013/10/28 职场文书
小学防溺水制度
2014/01/29 职场文书
解除聘用合同证明书范本
2014/09/11 职场文书
幼儿园迎国庆65周年活动策划方案
2014/09/16 职场文书
爱国主义教育基地观后感
2015/06/18 职场文书
入党自传范文2015
2015/06/26 职场文书
董事会决议范本
2015/07/01 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
Vue和Flask通信的实现
2021/05/19 Vue.js
Python 正则模块详情
2021/11/02 Python