我想在里面獲取文本div和內(nèi)部屬性,例如ul和li我的 html 層次結(jié)構(gòu)如下所示<div> text <ul> <li>text</li> <li>text</li> <li>text</li> </ul></div>所以我可以使用xpath('div/text()')函數(shù)獲取 div 文本,但我被困在內(nèi)部屬性中獲取其他文本。有人可以幫助我如何正確地做到這一點(diǎn)。
1 回答

隔江千里
TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個贊
使用BeautifulSoup:
from bs4 import BeautifulSoup
import urllib
test = '''<div>text_0<ul>
<li>text_1</li>
<li>text_2</li>
<li>text_3</li>
</ul>
</div>'''
soup = BeautifulSoup(test, 'html.parser')
data = soup.find_all("div")
for d in data:
print(d.text)
輸出:
text_0
text_1
text_2
text_3
使用xpath:
import lxml.html as LH
content = '''<div>text_0<ul>
<li>text_1</li>
<li>text_2</li>
<li>text_3</li>
</ul>
</div>'''
root = LH.fromstring(content)
for elem in root.xpath('//div/descendant::text()'):
print(elem)
添加回答
舉報(bào)
0/150
提交
取消