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 将对象设置为可迭代的两种实现方法
Jan 21 Python
numpy基础教程之np.linalg
Feb 12 Python
对python多线程SSH登录并发脚本详解
Feb 14 Python
值得收藏的10道python 面试题
Apr 15 Python
Django 实现图片上传和显示过程详解
Jul 18 Python
Django模型修改及数据迁移实现解析
Aug 01 Python
python3 pathlib库Path类方法总结
Dec 26 Python
python3实现往mysql中插入datetime类型的数据
Mar 02 Python
查看jupyter notebook每个单元格运行时间实例
Apr 22 Python
Python如何生成xml文件
Jun 04 Python
python如何随机生成高强度密码
Aug 19 Python
Golang Web 框架Iris安装部署
Aug 14 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工厂模式的日常使用
2019/03/20 PHP
基于mouseout和mouseover等类似事件的冒泡问题解决方法
2013/11/18 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
对new functionName()定义一个函数的理解
2014/05/22 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
Bootstrap开发实战之响应式轮播图
2016/06/02 Javascript
jQuery日程管理插件fullcalendar使用详解
2017/01/07 Javascript
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
五步轻松实现JavaScript HTML时钟效果
2020/03/25 Javascript
使用Angular CLI从蓝本生成代码详解
2018/03/24 Javascript
详解angular如何调用HTML字符串的方法
2018/06/30 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
JavaScript面向对象程序设计创建对象的方法分析
2018/08/13 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
详解Vue项目引入CreateJS的方法(亲测可用)
2019/05/30 Javascript
Js通过AES加密后PHP用Openssl解密的方法
2019/07/12 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
让python同时兼容python2和python3的8个技巧分享
2014/07/11 Python
Python中的作用域规则详解
2015/01/30 Python
Python实现树莓派WiFi断线自动重连的实例代码
2017/03/16 Python
python批量设置多个Excel文件页眉页脚的脚本
2018/03/14 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
使用python Telnet远程登录执行程序的方法
2019/01/26 Python
python matplotlib实现将图例放在图外
2020/04/17 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
前端canvas水印快速制作(附完整代码)
2019/09/19 HTML / CSS
重新定义牛仔布,100美元以下:Warp + Weft
2018/07/25 全球购物
LACOSTE波兰官网:Polo衫、服装和鞋类
2020/09/29 全球购物
联强国际笔试题面试题
2013/07/10 面试题
学校志愿者活动总结
2014/06/27 职场文书
标准离婚协议书(2014版)
2014/10/05 职场文书
语文教师个人工作总结
2015/02/06 职场文书
2015年安全工作总结范文
2015/04/02 职场文书
好人好事新闻稿
2015/07/17 职场文书
oracle覆盖导入dmp文件的2种方法
2021/05/21 Oracle