Python之lxml模块的etree类的使用
lxml的安装与etree类的导入
将html字符串转化为Element对象,且elment对象的方法
element对象的xptah方法
1.lxml模块的安装
安装方式:在终端cmd下利用pip命令安装即可(保证网络畅通)
pip install lxml
2.element对象
element对象是xpath语法的使用对象,element对象可由html字符串转化
利用etree.HTML()将html字符串转化为element对象 ,
from lxml import etree
MyStr = '''<meta name="baidu-site-verification" content="cZdR4xxR7RxmM4zE" />
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="Sun, 6 Mar 2005 01:00:00 GMT">
'''
HtmlElement = etree.HTML(MyStr)
print(type(HtmlElement))
#<class 'lxml.etree._Element'>
from lxml import etree
MyStr = '''<meta name="baidu-site-verification" content="cZdR4xxR7RxmM4zE" />
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="Sun, 6 Mar 2005 01:00:00 GMT">
'''
HtmlElement = etree.HTML(MyStr)
print(type(HtmlElement))
#<class 'lxml.etree._Element'>
将element对象转化为字符串
etree的tostring方法可以将element转化为二进制类型。故需要用encoding属性指定编码方法,否则可能会造成乱码。
且此方法会使原来不规则的html字符串补全为规则的html
HtmlStr=etree.tostring(HtmlElement,encoding="utf-8").decode()
print(HtmlStr)
HtmlStr=etree.tostring(HtmlElement,encoding="utf-8").decode()
print(HtmlStr)
输出:
<html><head><meta name="baidu-site-verification" content="cZdR4xxR7RxmM4zE"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="Sun, 6 Mar 2005 01:00:00 GMT"/>
</head></html>