Python lxml库的简单介绍及基本使用讲解


Posted in Python onDecember 22, 2020

1.lxml库介绍

lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的数据;lxml和正则一样,也是用C语言实现的,是一款高性能的python HTML、XML解析器,也可以利用XPath语法,来定位特定的元素及节点信息

HTML是超文本标记语言,主要用于显示数据,他的焦点是数据的外观
XML是可扩展标记语言,主要用于传输和存储数据,他的焦点是数据的内容

2.安装lxml方法

方法1:
在cmd运行窗口中输入:pip install lxml

Python lxml库的简单介绍及基本使用讲解

方法2:
在Pycharm中下载
File?Setting?Project?Project Interpreter?点击右上角的“+”—
第1步

Python lxml库的简单介绍及基本使用讲解

第2步

Python lxml库的简单介绍及基本使用讲解

第3步

Python lxml库的简单介绍及基本使用讲解

方法3:
进入这个网站进行下载:https://lxml.de/index.html

Python lxml库的简单介绍及基本使用讲解

3.基本使用

我们可以利用他解析HTML代码,并且在解析HTML代码的时候,如果HTML代码不规范或者不完整,lxml解析器会自动修复或补全代码,从而提高效率

实例1:
解析HTML代码块

#提取html中的数据
from lxml import etree

text = '''
<html>
    <div class="clearfix">
    <div class="nav_com">
     <ul>
       <li class="active"><a href="/" rel="external nofollow" >推荐</a></li>
       <li class=""><a href="/nav/python" rel="external nofollow" >Python</a></li>
       <li class=""><a href="/nav/java" rel="external nofollow" >Java</a></li>
       <li class=""><a href="/nav/web" rel="external nofollow" >前端</a></li>
       <li class=""><a href="/nav/arch" rel="external nofollow" >架构</a></li>
       <li class=""><a href="/nav/db" rel="external nofollow" >数据库</a></li>
       <li class=""><a href="/nav/5g" rel="external nofollow" >5G</a></li>
       <li class=""><a href="/nav/game" rel="external nofollow" >游戏开发</a></li>
       <li class=""><a href="/nav/mobile" rel="external nofollow" >移动开发</a></li>
       <li class=""><a href="/nav/ops" rel="external nofollow" >运维</a></li>
     </ul>
    </div>
    </div>
</html>>
</html>>

'''
#将字符串解析为html文档
html = etree.HTML(text)
#print(html)
#将字符串序列化为html
result = etree.tostring(html).decode('utf-8')
print(result)

实例2:
读取并解析html文件

#将html文件进行解析
from lxml import etree
#将html文件进行读取
html = etree.parse('data.html')
#将html内容序列化
result = etree.tostring(html).decode('utf-8')
print(result)

到此这篇关于Python lxml库的简单介绍及基本使用讲解的文章就介绍到这了,更多相关Python lxml库使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中的多行注释文档编写风格汇总
Jun 16 Python
最大K个数问题的Python版解法总结
Jun 16 Python
详解Python中heapq模块的用法
Jun 28 Python
python机器学习实战之K均值聚类
Dec 20 Python
Python使用pymysql从MySQL数据库中读出数据的方法
Jul 25 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
Apr 28 Python
Python  Django 母版和继承解析
Aug 09 Python
Pandas时间序列重采样(resample)方法中closed、label的作用详解
Dec 10 Python
python爬虫库scrapy简单使用实例详解
Feb 10 Python
如何使用Python抓取网页tag操作
Feb 14 Python
Python tkinter之ComboBox(下拉框)的使用简介
Feb 05 Python
pytorch __init__、forward与__call__的用法小结
Feb 27 Python
Python中过滤字符串列表的方法
Dec 22 #Python
python中@property的作用和getter setter的解释
Dec 22 #Python
地图可视化神器kepler.gl python接口的使用方法
Dec 22 #Python
Python实现Word文档转换Markdown的示例
Dec 22 #Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
Dec 22 #Python
Django中ORM的基本使用教程
Dec 22 #Python
python通用数据库操作工具 pydbclib的使用简介
Dec 21 #Python
You might like
php处理斐波那契数列非递归方法
2012/02/04 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
js中prototype用法详细介绍
2013/11/14 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
node.js中的fs.unlink方法使用说明
2014/12/15 Javascript
javascript事件模型实例分析
2015/01/30 Javascript
jQuery内部原理和实现方式浅析
2015/02/03 Javascript
bootstrap手风琴制作方法详解
2017/01/11 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
Bootstrap modal 多弹窗之叠加关闭阴影遮罩问题的解决方法
2017/02/27 Javascript
jQuery简介_动力节点Java学院整理
2017/07/04 jQuery
JS实现二维数组横纵列转置的方法
2018/04/17 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python client使用http post 到server端的代码
2013/02/10 Python
Django处理Ajax发送的Get请求代码详解
2019/07/29 Python
python递归函数求n的阶乘,优缺点及递归次数设置方式
2020/04/02 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
美国领先的医疗警报服务:Philips Lifeline
2018/03/12 全球购物
医药大学生求职简历的自我评价
2013/10/17 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书
征用土地赔偿协议书
2014/09/26 职场文书
董事长秘书岗位职责
2015/02/13 职场文书
三下乡个人总结
2015/03/04 职场文书
2015年大学生工作总结
2015/04/21 职场文书
2015年销售部工作总结范文
2015/04/27 职场文书
团队拓展训练感想
2015/08/07 职场文书
销售口号霸气押韵
2015/12/24 职场文书
小学英语听课心得体会
2016/01/14 职场文书
服务器SVN搭建图文安装过程
2022/06/21 Servers