python中xpath从html中获取值

python中xpath从html中获取值,python,html,xpath,Python,Html,Xpath,我想使用xpath获取WhatIwant短语: a="<b>AAA:</b> BBB<br/><br/><img src='line.gif' /><br/><br/><b><font size='2'>Text: </b>WahtIwant</font><br/><center>" 使用元素的andtail属性(直接跟随元素的文本) &g

我想使用xpath获取
WhatIwant
短语:

a="<b>AAA:</b> BBB<br/><br/><img src='line.gif' /><br/><br/><b><font size='2'>Text: </b>WahtIwant</font><br/><center>"
使用元素的and
tail
属性(直接跟随元素的文本)

>>> import lxml.html
>>> 
>>> a = "<b>AAA:</b> BBB<br/><br/><img src='line.gif' /><br/><br/><b><font size='2'>Text: </b>WahtIwant</font><br/><center>"
>>> root = lxml.html.fromstring(a)
>>> [x.tail for x in root.xpath('//font[@size="2"]/parent::b')]
['WahtIwant']
导入lxml.html >>> >>>a=“AAA:BBB



Text:WahtIwant
” >>>root=lxml.html.fromstring(a) >>>[root.xpath('//font[@size=“2”]/parent::b')中x的x.tail ['WahtIwant']
从xpath的角度来看,您想要的文本是
元素的兄弟元素,该元素是
font[@size=“2”]
的父元素:

tree.xpath('//font[@size="2"]/parent::b/following-sibling::text()')
或者,您可以使用xpath选择
元素,该元素的子元素
font
size
属性等于
2
,然后选择
之后的
文本
节点:

tree.xpath('//b[font/@size="2"]/following-sibling::text()')
tree.xpath('//b[font/@size="2"]/following-sibling::text()')