lxml 笔记

参考教程 http://c.biancheng.net/python_spider/lxml.html

一 安装

1.pip 安装

c:\>pip3 install lxml

二 lxml功能介绍

1.ElementTree 和 Element

1.0 提前总结

类型 说明
ElementTree 代表着xml html的整个文档
1.文档
2.root
3.文档其他结构
Element 一个元素
生成节点函数名 功能
etree.XML(字符串,parser=etree.XMLParser()) 生成element对象
etree.HTML(字符串,parser=etree.HTMLParser()) 生成element对象
1.校正格式,封闭标签
2.一步就生成到顶部的html标签

生成tree
tree.getroot() 可以得到根节点

产生tree的方法
1. tree = etree.ElementTree(root)
2. tree = etree.parse(filename)

1.1 XML:从字符串str ->新建节点 Element -> 并作为root节点生成树ElementTree

使用etree.XML(’ str ') 产生xml对象

import lxml.etree as etree

#1. 新建root节点 Element类型  
root = etree.XML('''  # XML用来生成节点
        
        aaa
        
        ''')
        
#2. 从节点新建ElementTree = 文档(文档说明 + root )
tree = etree.ElementTree(root)
print('root',type(root),'\n',root)
print('tree',type(tree),'\n',tree)

#3. 结果 
root <class 'lxml.etree._Element'> 
<Element root at 0x2e99cfdcf08>
tree <class 'lxml.etree._ElementTree'> 
<lxml.etree._ElementTree object at 0x000002E99CF6AD48>

1.2 HTML:从字符串str ->新建Element (直接到标签)

import lxml.etree as etree

html_str = '''   #字符串str
        
aaa
'''
# 1. 字符串str -> html节点 (直接到标签) html = etree.HTML(html_str,parser=etree.HTMLParser()) # 2. etree.tostring(对象,encode='utf-8') 转为utf-8字符串 strRes = etree.tostring(html,encoding='utf-8') print(strRes.decode('utf-8')) # 结果 <html> <body><div> <a>aaa</a> </div></body> </html>

你可能感兴趣的:(python,java,开发语言)