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发送邮件示例(支持中文邮件标题)
Feb 16 Python
详细解读Python中的__init__()方法
May 02 Python
详解Python编程中对Monkey Patch猴子补丁开发方式的运用
May 27 Python
Python numpy生成矩阵、串联矩阵代码分享
Dec 04 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
Feb 01 Python
基于Python中numpy数组的合并实例讲解
Apr 04 Python
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 Python
Python中py文件转换成exe可执行文件的方法
Jun 14 Python
解决c++调用python中文乱码问题
Jul 29 Python
python实现简单的井字棋游戏(gui界面)
Jan 22 Python
详解解Django 多对多表关系的三种创建方式
Aug 23 Python
Python创建SQL数据库流程逐步讲解
Sep 23 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中调用SVN命令更新网站方法
2015/01/07 PHP
浅谈PHP中静态方法和非静态方法的相互调用
2016/10/04 PHP
浅谈laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
2019/10/21 PHP
PHP 8新特性简介
2020/08/18 PHP
JQuery判断子iframe何时加载完成解决方案
2013/08/20 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
详细解读JavaScript编程中的Promise使用
2015/07/27 Javascript
javascript先序遍历DOM树的方法
2016/02/27 Javascript
Vue.js系列之vue-router(上)(3)
2017/01/03 Javascript
JS实现复制功能
2017/03/01 Javascript
jQuery插件echarts去掉垂直网格线用法示例
2017/03/03 Javascript
vue2.0实战之使用vue-cli搭建项目(2)
2017/03/27 Javascript
vue.js全局API之nextTick全面解析
2017/07/07 Javascript
thinkjs 文件上传功能实例代码
2017/11/08 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
vue单页开发父子组件传值思路详解
2018/05/18 Javascript
JavaScript类数组对象转换为数组对象的方法实例分析
2018/07/24 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
vue单页应用的内存泄露定位和修复问题小结
2019/08/02 Javascript
Layui多选只有最后一个值的解决方法
2019/09/02 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
17个Python小技巧分享
2015/01/23 Python
Python循环语句中else的用法总结
2016/09/11 Python
利用python爬取斗鱼app中照片方法实例
2017/12/03 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
三爱活动实施方案
2014/03/19 职场文书
超市开业庆典策划方案
2014/05/14 职场文书
公安机关纪律作风整顿剖析
2014/10/10 职场文书
业务员管理制度范本
2015/08/06 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang
Springboot使用Spring Data JPA实现数据库操作
2021/06/30 Java/Android