lxml只支持xpath1.0边器,不支持xpath2.0训枢,所以很多功能用不到,比如:
#xpath1.0
#連接所有YES饰抒。除了NO之外
sel = etree.HTML('<div>Yes1 <em>SonYes2 </em> Yes3<p>No</p></div>')
#xpath1.0無法直接在規(guī)則中連接字符串?dāng)?shù)組,需要在外面使用join
lst = sel.xpath('//div//text()[not(parent::p)]')
print "".join(lst)
#結(jié)果Yes1 SonYes2 Yes3
#xpath2.0
#連接所有YES诀黍。除了NO之外
sel = etree.HTML('<div>Yes1 <em>SonYes2 </em> Yes3<p>No</p></div>')
#如果是xpath2.0就很簡單,直接使用內(nèi)置函數(shù)string-join袋坑,就可以了
print sel.xpath('string-join(//div//text()[not(parent::p)], "")')
#結(jié)果Yes1 SonYes2 Yes3