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的设计模式编程入门指南
Apr 02 Python
Python通过Django实现用户注册和邮箱验证功能代码
Dec 11 Python
python导出hive数据表的schema实例代码
Jan 22 Python
Python实现基于C/S架构的聊天室功能详解
Jul 07 Python
利用anaconda保证64位和32位的python共存
Mar 09 Python
详解Python可视化神器Yellowbrick使用
Nov 11 Python
pytorch中的inference使用实例
Feb 20 Python
Python3.7 读取音频根据文件名生成脚本的代码
Apr 07 Python
Python3自定义json逐层解析器代码
May 11 Python
pytorch 多分类问题,计算百分比操作
Jul 09 Python
python 列表推导和生成器表达式的使用
Feb 01 Python
Python数据可视化之用Matplotlib绘制常用图形
Jun 03 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速度全攻略
2006/10/09 PHP
PHP使用JSON和将json还原成数组
2015/02/12 PHP
PHP中strnatcmp()函数“自然排序算法”进行字符串比较用法分析(对比strcmp函数)
2016/01/07 PHP
php下载文件,添加响应头的简单实例
2016/09/22 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
jquery更换文章内容与改变字体大小代码
2013/09/30 Javascript
JavaScript实现SHA-1加密算法的方法
2015/03/11 Javascript
JS显示下拉列表框内全部元素的方法
2015/03/31 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
AngularJS国际化详解及示例代码
2016/08/18 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
2016/09/04 Javascript
jquery mobile移动端幻灯片滑动切换效果
2020/04/15 Javascript
web前端vue之vuex单独一文件使用方式实例详解
2018/01/11 Javascript
JS实现的tab页切换效果完整示例
2018/12/18 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
js针对图片加载失败的处理方法分析
2019/08/24 Javascript
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
JavaScript鼠标拖拽事件详解
2020/04/03 Javascript
vue 实现超长文本截取,悬浮框提示
2020/07/29 Javascript
python实现用户登录系统
2016/05/21 Python
Python爬虫DOTA排行榜爬取实例(分享)
2017/06/13 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
深入浅析Python中的yield关键字
2018/01/24 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
Python基础之函数的定义与使用示例
2019/03/23 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
Python爬虫爬取杭州24时温度并展示操作示例
2020/03/27 Python
CSS3+HTML5+JS 实现一个块的收缩与展开动画效果
2020/11/17 HTML / CSS
美国廉价机票预订网站:Cheapfaremart
2018/04/28 全球购物
Tomcat中怎么使用log4j输出所有的log
2016/07/07 面试题
小学教师培训方案
2014/06/09 职场文书
普通党员自我剖析材料
2014/10/07 职场文书
2016年3月份红领巾广播稿
2015/12/21 职场文书
《狼牙山五壮士》教学反思
2016/02/17 职场文书