2016-12-04 4 views
0

Ich habe eine HTML-Quelle, die Erhalten Sie Text nach 2 Spannen mit XPath/lxml?

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

Ich arbeite in Python wie

aussieht. Ich kann den "ersten Text" durch den Aufruf

bekommen Ich frage mich, wie bekomme ich den "zweiten Text" auch mit Xpath? Ich bin neu und würde deine Hilfe schätzen.

Dank

+0

von Ihnen Snippet. Der zweite Text befindet sich nicht in einem span-Tag. Es ist in dem Eltern-Tag (z.B. div) oder einem Text-Knoten (d. H. Kein Tag). Identifizieren, welche der beiden hilft beim Komponieren eines Xpath – Tobey

+0

Auch schlage ich vor, int zu suchen Schöne für die Analyse von HTML – Tobey

+0

Mein Team ist nicht mit schönen Suppe, keine Ahnung, wie man Xpath verwenden? – lululolol

Antwort

0

Gerade verwenden following-sibling :: text()

XPath:

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

UPDATE:

Um Strings zu verbinden Sie concat-Funktion verwenden können

XPath 1.0

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

danke es hat funktioniert! – lululolol

+0

Hallo nochmal. Würdest du zufällig den "ersten Text" und den "zweiten Test" paaren? Gerade jetzt, tree.xpath ('// span [@ class = "review-title"]/text()') und tree.xpath * '// span [@ class = "review-title"]/Folge-Geschwister :: text() ') gibt mir 2 separate Listen. Ich möchte in der Lage sein, den ersten Text mit dem entsprechenden zweiten Text zu paaren, wenn möglich in einer Liste. Vielen Dank! – lululolol

Verwandte Themen