安装
pip install lxml
如有报错,具体安装教程请查看:http://Lxml.de/installation.html
简单使用
- 节点与属性
from lxml import etree
#创建节点对象
root=etree.Element('p')
#添加子节点
sub1=etree.SunElement(root,'a')
#节点名
print(root.tag)
#节点对象的属性类似字典类型,可按字典进行操作
root.set('class','123')
root.get('class')
- 文本操作
etree.tostring(root)`#返回节点内容
root.text#返回节点的文本信息,单一节点用tail()方法
root.xpath('string()')#过滤调标签,字符串形式返回所有文本信息
root.xpath('//text()')#已标签为间隔,列表形式返回所有信息,返回值携带标签信息getparent()方法可以返回信息所在节点对象,is_text(),is_tail()方法可以判断信息所在标签类型
文本解析
etree.fromstring()#解析字符串类型
etree.HTML()#解析HTML对象
etree.XML()#解析XML对象
etree.parse()#解析文件类型
标签搜索
root=etree.HTML('<a class="234"><span id="2">link</span></a>')
root.xpath()#返回一个标签对象的列表,并且xpath语法的相对路径和绝对路径。
root.find()#返回第一个匹配对象,并且xpath语法只能使用相对路径(以’.//’开头)
root.findall()#返回一个标签对象的列表,并且xpath语法只能使用相对路径(以’.//’开头)
可根据css语法搜索标签
pip install cssselect
eg:
root.ceeselect('.id')