Das sollte einfach sein, aber ich stecke fest.
%Vor%Ich versuche Scrapy (Basespider) zu verwenden, um einen Link basierend auf seinem Link-Text auszuwählen:
%Vor%Ich möchte zum Beispiel den Link der nächsten Seite auswählen, basierend auf der Tatsache, dass der Text "Link Text Next" ist. Irgendwelche Ideen?
Verwenden Sie a[contains(text(),'Link Text Next')]
:
Referenz: Dokumentation zum XPath enthält Funktion
PS. Dein Text Link Text Next
hat am Ende ein Leerzeichen. Um zu vermeiden, dass dieser Platz im Code enthalten sein muss:
Ich denke% contains
ist ein bisschen allgemeiner, aber immer noch spezifisch genug.
Sie können den folgenden XPath-Ausdruck verwenden:
%Vor% Damit werden die href
Attribute des Links mit dem Text "Link Text Next"
ausgewählt.
Siehe XPath-Zeichenfolgenfunktionen , wenn Sie mehr Kontrolle benötigen.
Ihr xpath wählt den href nicht den Text im a
-Tag. Es sieht nicht von Ihrem Beispiel aus wie die href hat next
drin, so dass Sie es nicht mit einem RE finden können.
Tags und Links python web-crawler scrapy