文章目录
XML 文件
处理方法
- XPath
- 正则表达式
- 转化成Python类型(xmltodict)
- CSS选择器
lxml库
lxml 是 一个HTML/XML的解析器,主要的功能是如何解析和提取 HTML/XML 数据。
- 我们只要使用lxml库中的etree库进行解析HTML
解析html字符串(关键词: etree.HTML)
etree.HTML(Data)
案例演示
from lxml import etree
text = """
<div class="form-group">
<div class="input-group">
<input type="text" name="" class="form-control">
<span class="input-group-btn">
<button class="btn btn-default">
<span class="glyphicon glyphicon-search"></span>
</button>
</span>
</div>
</div>
"""
#利用etree.HTML,将字符串解析为HTML文档
html = etree.HTML(text)
print(html)
按字符串序列化HTML文档
只有序列化后才能显示
etree.tostring(Data)
# 按字符串序列化HTML文档
result = etree.tostring(html)
print(result)
注意:
lxml 可以自动修正 html 代码,会对缺少的标签自动补全
解析html文件(关键词:etree.parse)
etree.parse(Data)
# lxml_parse.py
from lxml import etree
# 读取外部文件 hello.html
html = etree.parse('./hello.html')
result = etree.tostring(html, pretty_print=True)
print(result)
Xpath的使用
html.xpath(“匹配语法”)