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实现ftp客户端示例分享
Feb 17 Python
Python实现发送email的几种常用方法
Aug 18 Python
Python过滤函数filter()使用自定义函数过滤序列实例
Aug 26 Python
python通过装饰器检查函数参数数据类型的方法
Mar 13 Python
图文讲解选择排序算法的原理及在Python中的实现
May 04 Python
Python数据结构与算法之常见的分配排序法示例【桶排序与基数排序】
Dec 15 Python
python学生管理系统学习笔记
Mar 19 Python
Python中如何将一个类方法变为多个方法
Dec 30 Python
详解pycharm连接不上mysql数据库的解决办法
Jan 10 Python
tensorflow 限制显存大小的实现
Feb 03 Python
python使用pymongo与MongoDB基本交互操作示例
Apr 09 Python
Python带你从浅入深探究Tuple(基础篇)
May 15 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手册及PHP编程标准
2006/12/17 PHP
解析thinkphp import 文件内容变量失效的问题
2013/06/20 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
基于jQuery的自动完成插件
2011/02/03 Javascript
jquery 插件开发 extjs中的extend用法小结
2013/01/04 Javascript
ExtJs纵坐标值重复问题的解决方法
2014/02/27 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
JavaScript删除指定子元素代码实例
2015/01/13 Javascript
学习jQuey中的return false
2015/12/18 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
AngularJS中的按需加载ocLazyLoad示例
2017/01/11 Javascript
详解用node.js实现简单的反向代理
2017/06/26 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
vue实现组件之间传值功能示例
2018/07/13 Javascript
jQuery实现导航样式布局操作示例【可自定义样式布局】
2018/07/24 jQuery
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
Ant design vue中的联动选择取消操作
2020/10/31 Javascript
Python实现微信公众平台自定义菜单实例
2015/03/20 Python
浅析python 中大括号中括号小括号的区分
2019/07/29 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
中国酒类在线零售网站:酒仙网
2016/08/20 全球购物
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
有影响力的品牌之家:Our Social Collective
2019/06/08 全球购物
简单而又朴实的个人求职信分享
2013/12/12 职场文书
大学毕业感言50字
2014/02/07 职场文书
学习雷锋倡议书
2014/04/15 职场文书
软件项目开发计划书
2014/05/01 职场文书
优秀班主任材料
2014/12/16 职场文书
学校捐书倡议书
2015/04/27 职场文书
员工表扬信怎么写
2015/05/05 职场文书
导游词之黄果树瀑布
2019/09/20 职场文书
React + Threejs + Swiper 实现全景图效果的完整代码
2021/06/28 Javascript
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android