2016-04-05 16 views
1

Ich versuche ein Programm zu schreiben, das eine HTML-Seite durchläuft und die Daten auf der Seite einsammelt. Meine Frage kommt bei der Verwendung von XPath. Die Webseite hat ein Layout wie folgt aus:Verwenden von XPath zum Abrufen von Webseitendaten

<div class="left"> 
    <div class="name"> 
    </div> 
</div> 
<div class="right"> 
    <div class="name"> 
    </div> 
</div> 

Ich versuche, jeden Namen Klasse mit XPath zu trennen, aber wenn ich benutze:

tree.xpath('//div[@class="name"]/text()') 

ich alles auf der Seite, die die Klasse Namen verwendet. Wie würde ich den xpath spezifischer machen?

Bisher habe ich versucht, die folgenden:

tree.xpath('//div[class="left"]/div[@class="name"]/text()') 

aber das nicht funktioniert und ein leeres Array zurück.

Antwort

1

//div[class="left"]/div[@class="name"]/text()

Es ist fast richtig ist, können Sie fehlen nur die @ vor der class:

//div[@class="left"]/div[@class="name"]/text() 
    HERE^ 
Verwandte Themen