lxml库
什么是lxml库
lxml是一种使用Python编写的库,可以迅速、灵活地处理XML
支持XPath语句
学习lxml库的目的
利用所学的XPath语法,来快速定位特定元素以及节点信息
目的是提取HTML、XML目标数据
安装lxml库
pip install lxml
详情代码学习,见如下:
# 导入lxml库, 调用etree方法
from lxml import etree
# 准备的html数据,不完整 html,body,li标签不完整
html_data = '''
<div>
<ul>
<li class="item-0"><a href="link1.html">first item</a></li>
<li class="item-1"><a href="link2.html">second item</a></li>
<li class="item-inactive"><a href="link3.html"><span class="bold">third item</span></a></li>
<li class="item-1"><a href="link4.html">fourth item</a></li>
<li class="item-0"><a href="link5.html">fifth item</a>
</ul>
</div>
'''
# 使用etree.HTML,获取html数据
html = etree.HTML(html_data)
# 使用etree.tostring()方法将html转成文本字符串并进行转义
print(etree.tostring(html).decode()) # 输出带有html、body、li标签的完整html语句
# 返回 _Element类型对象 它所指的就是整个xml树的根节点
print(type(html)) # 输出:<class 'lxml.etree._Element'>
# 后面就可以使用XPath语句来获取html中的元素(省略...)