lxml 文本獲取

2021-05-28 10:14 更新

我們用XPath中的text()方法獲取節(jié)點(diǎn)中的文本

from lxml import etree

text='''
<div>
    <ul>
         <li class="item-0"><a href="link1.html">第一個(gè)</a></li>
         <li class="item-1"><a href="link2.html">second item</a></li>
     </ul>
 </div>
'''

html=etree.HTML(text,etree.HTMLParser())
result=html.xpath('//li[@class="item-1"]/a/text()') #獲取a節(jié)點(diǎn)下的內(nèi)容
result1=html.xpath('//li[@class="item-1"]//text()') #獲取li下所有子孫節(jié)點(diǎn)的內(nèi)容

print(result)
print(result1)

屬性獲取

使用@符號(hào)即可獲取節(jié)點(diǎn)的屬性,如下:獲取所有l(wèi)i節(jié)點(diǎn)下所有a節(jié)點(diǎn)的href屬性

result=html.xpath('//li/a/@href')  #獲取a的href屬性
result=html.xpath('//li//@href')   #獲取所有l(wèi)i子孫節(jié)點(diǎn)的href屬性


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)