2016-09-18 2 views
1

Wie kann ich ein Element an diesem bestimmten Ort erhalten:Scrapy SgmlLinkExtractor wie li-Tags kratzen mit wechselnden ids

Check picture

Die XPath ist:

//*[@id="id316"]/span[2] 

Ich habe diesen Weg von Google Chrome-Browser. Ich möchte im Grunde mit der folgenden Anweisung die Anzahl an dieser bestimmten Stelle retreive:

zimmer = response.xpath('//*[@id="id316"]/span[2]').extract()

Allerdings bin ich nicht immer alles andere als eine leere Zeichenfolge. Ich fand heraus, dass der ID-Wert für jedes Element in der Liste, die mich interessiert, unterschiedlich ist. Gibt es eine Möglichkeit, diesen Ausdruck so zu schreiben, dass er für generische Zahlen funktioniert?

Antwort

0

das entsprechende Etikett verwenden und erhalten das following sibling Element den Wert enthält:

//span[. = 'Zimmer']/following-sibling::span/text() 

Und beachten Sie den Bonus auf die Lesbarkeit des Locators.

+0

funktioniert perfekt thx ... – hjschmid