2016-12-04 82 views
0

我有一個看起來像使用XPath/lxml在2個跨度後獲取文本?

<span class="review-title">first text</span> second text 

我在python我工作的一個HTML源代碼。我可以通過調用

tree.xpath('//span[@class="review-title"]/text()') 

獲得「第一文」我想知道我怎麼獲得「第二個文本」也使用XPath?我對此很感興趣,並希望得到您的幫助。

感謝

+0

from your snippet。 '第二文本'不在span標籤中。它位於父標籤(例如div)或文本節點(即無標籤)中。確定哪兩個將幫助組成一個xpath – Tobey

+0

此外,我建議尋找int美麗的解析html – Tobey

+0

我的團隊不使用美麗的湯,任何想法如何使用xpath? – lululolol

回答

0

只需使用以下同胞::文本()

的XPath:

'//span[@class="review-title"]/following-sibling::text()' 

UPDATE:

要加入字符串,你可以使用concat函數

XPath 1.0

"concat(//span[@class='review-title']/text(), //span[@class='review-title']/following-sibling::text())" 
+0

感謝它的工作! – lululolol

+0

嗨,再次。你會碰巧知道如何配對「第一個文本」和「第二個測試」?現在,tree.xpath('// span [@ class =「review-title」]/text()')和tree.xpath *'// span [@ class =「review-title」]/following-sibling :: text()')給我2個單獨的列表。如果可能,我希望能夠將第一個文本與相應的第二個文本配對在一個列表中。謝謝! – lululolol

相關問題