2016-06-01 11 views
2

Ich verwende Scrapy zum Crawlen von Daten.Wie wird der innere Text des Links mit XPath ausgewählt?

Auf JS Konsole in meinem Browser, ich tippe $x('//div[@class="summary"]//div[contains(@class, "tags")]') um zu bekommen, was ich brauche, aber ich muss die Daten filtern.

Das folgende Bild zeigt das Ergebnis des Befehls $x('//div[@class="summary"]//div[contains(@class, "tags")]').

JS console result

Wie soll ich schreiben xpath Befehl, um die Daten in der grünen Box zu bekommen? Ich versuchte $x('//div[@class="summary"]//div[contains(@class, "tags")]//a[contains(@class, "post-tag")]'), aber das ist nicht, was ich will.

Vielen Dank!

+0

, warum Sie 'Python-2.7' hat überspringen? Was ist die Logik dahinter? (Ich nehme an, es ist was du meinst mit 'nicht, was ich brauche') – har07

+0

@ har07, muss ich das richtige Xpath-Skript, um die Daten in der JS-Konsole zu filtern. siehe [xpath] (http://www.w3schools.com/xsl/xpath_intro.asp) –

+0

@ har07, sorry, ich habe vergessen, eine Box darauf zu setzen. Vielen Dank!!! –

Antwort

4

So wählen Sie inneren Text von <a> Element innerhalb des ausgewählten div, müssen Sie nur /a/text() auf Ihre XPath anhängen, welche die div wählt:

//div[@class="summary"]//div[contains(@class, "tags")]/a/text()