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 相关文章推荐
wxpython 最小化到托盘与欢迎图片的实现方法
Jun 09 Python
Python标准异常和异常处理详解
Feb 02 Python
python通过imaplib模块读取gmail里邮件的方法
May 08 Python
Python探索之ModelForm代码详解
Oct 26 Python
python编写暴力破解zip文档程序的实例讲解
Apr 24 Python
Python里字典的基本用法(包括嵌套字典)
Feb 27 Python
Django REST framework 视图和路由详解
Jul 19 Python
关于python字符串方法分类详解
Aug 20 Python
python实现机器人卡牌
Oct 06 Python
浅析使用Python搭建http服务器
Oct 27 Python
Python实现自定义读写分离代码实例
Nov 16 Python
浅析关于Keras的安装(pycharm)和初步理解
Oct 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开发留言板的CRUD(增,删,改,查)操作
2012/04/19 PHP
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
PHP远程采集图片详细教程
2014/07/01 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
使用PHP进行微信公众平台开发的示例
2015/08/21 PHP
在Javascript中定义对象类别
2006/12/22 Javascript
ExtJS GTGrid 简单用户管理
2009/07/01 Javascript
jQuery ajax cache缓存问题
2010/07/01 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
js克隆对象、数组的常用方法介绍
2013/09/26 Javascript
JS Loading功能的简单实现
2013/11/29 Javascript
H5移动端图片压缩上传开发流程
2016/11/09 Javascript
使用JS代码实现点击按钮下载文件
2016/11/12 Javascript
Node连接mysql数据库方法介绍
2017/02/07 Javascript
javascript九宫格图片随机打乱位置的实现方法
2017/03/15 Javascript
JavaScript运动框架 多值运动(四)
2017/05/18 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
vue 出现data-v-xxx的原因及解决
2020/08/04 Javascript
python实现定时播放mp3
2015/03/29 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
python数据结构之列表和元组的详解
2017/09/23 Python
Django使用Channels实现WebSocket的方法
2019/07/28 Python
解决Jupyter NoteBook输出的图表太小看不清问题
2020/04/16 Python
jupyter notebook 恢复误删单元格或者历史代码的实现
2020/04/17 Python
用Python 爬取猫眼电影数据分析《无名之辈》
2020/07/24 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
EJB3推出JPA的原因
2013/10/16 面试题
党员公开承诺书和承诺事项
2014/03/25 职场文书
村党支部公开承诺书
2014/05/29 职场文书
小学综合实践活动总结
2014/07/07 职场文书
2014镇党委书记党建工作汇报材料
2014/11/02 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
如何在centos上使用yum安装rabbitmq-server
2021/03/31 Servers
GoLang中生成UUID唯一标识的实现
2021/05/08 Golang