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 17 Python
python虚拟环境virualenv的安装与使用
Dec 18 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
详解Python装饰器
Mar 25 Python
CentOS7安装Python3的教程详解
Apr 10 Python
python爬虫 批量下载zabbix文档代码实例
Aug 21 Python
python 使用shutil复制图片的例子
Dec 13 Python
python的json包位置及用法总结
Jun 21 Python
python else语句在循环中的运用详解
Jul 06 Python
Pycharm及python安装详细教程(图解)
Jul 31 Python
flask开启多线程的具体方法
Aug 02 Python
详解python的变量缓存机制
Jan 24 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中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
2010/07/09 PHP
PHP采用curl模仿用户登陆新浪微博发微博的方法
2014/11/07 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
简单谈谈php浮点数精确运算
2016/03/10 PHP
php metaphone()函数的定义和用法
2016/05/15 PHP
php中各种定义变量的方法小结
2017/10/18 PHP
深入理解JavaScript系列(10) JavaScript核心(晋级高手必读篇)
2012/01/15 Javascript
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
JS字符串拼接在ie中都报错的解决方法
2014/03/27 Javascript
JavaScript运行机制之事件循环(Event Loop)详解
2014/10/10 Javascript
jQuery封装的tab选项卡插件分享
2015/06/16 Javascript
深入浅析JavaScript中对事件的三种监听方式
2015/09/29 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
Angular2自定义分页组件
2017/04/19 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
Angular2.0实现modal对话框的方法示例
2018/02/18 Javascript
vue interceptor 使用教程实例详解
2018/09/13 Javascript
详解在vue-cli3.0中自定css、js和图片的打包路径
2019/08/26 Javascript
Vue3.0数据响应式原理详解
2019/10/09 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
javascript中innerHTML 获取或替换html内容的实现代码
2020/03/17 Javascript
Python3随机漫步生成数据并绘制
2018/08/27 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
使用pytorch实现论文中的unet网络
2020/06/24 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
基于HTML5实现类似微信手机摇一摇功能(计算摇动次数)
2017/07/24 HTML / CSS
Alexandre Birman美国官网:亚历山大·伯曼
2019/10/30 全球购物
年度献血先进个人事迹材料
2014/02/14 职场文书
财务会计实训报告
2014/11/05 职场文书
Vue项目中如何封装axios(统一管理http请求)
2021/05/02 Vue.js
React实现动效弹窗组件
2021/06/21 Javascript
Python实现8种常用抽样方法
2021/06/27 Python
python opencv将多个图放在一个窗口的实例详解
2022/02/28 Python