鍍金池/ 問答/數(shù)據(jù)分析&挖掘  Python  網(wǎng)絡(luò)安全  HTML/ 如何使用XPath獲取br標(biāo)簽后的內(nèi)容?

如何使用XPath獲取br標(biāo)簽后的內(nèi)容?

圖片描述

如圖,有什么便捷的Xpath方法獲取未閉合標(biāo)簽下的信息呢?
附上自己的代碼

html = requests.get('https://movie.douban.com/top250').text
tree = lxml.html.fromstring(html)
data = tree.xpath("http://ol/li[1]//div[@class='bd']/p")[0].text
print(data)
#導(dǎo)演: 弗蘭克·德拉邦特 Frank Darabont???主演: 蒂姆·羅賓斯 Tim Robbins /...

data = tree.xpath("http://ol/li[1]//div[@class='bd']/p/br")[0]
print(data)
#<Element br at 0x2c7d86cdb38>
#但如果加上.text則輸出None

data = tree.xpath("http://ol/li[1]//div[@class='bd']/p")[0].xpath('string(.)')
#導(dǎo)演: 弗蘭克·德拉邦特 Frank Darabont???主演: 蒂姆·羅賓斯 Tim Robbins /...
                            1994?/?美國?/?犯罪 劇情

雖然'string(.)'能獲取標(biāo)簽下所有文本,但有沒有什么辦法能單獨獲取br標(biāo)簽后的內(nèi)容呢?

回答
編輯回答
櫻花霓

把<p>里面的內(nèi)容整個提取出string來后用re提取。

r'\<br\>([\w\/]+)$'

clipboard.png

2017年1月16日 23:13