2017-03-06 2 views
0

Ich bin gerade wirklich mit xPath kämpfen. Ich habe ein paar Guides gelesen und ich kann es einfach nicht richtig machen.Verwenden von Xpath, um hreflang URL zu extrahieren

Grundsätzlich möchte ich alle URLs extrahieren, die "/ro_ro/" enthalten.

<link rel="alternate" href="https://www.stackoverflow.com/pl_pl/" hreflang="pl-PL"> 
<link rel="alternate" href="https://www.stackoverflow.com/pt_br/" hreflang="pt-BR"> 
<link rel="alternate" href="https://www.stackoverflow.com/pt_pt/" hreflang="pt-PT"> 
<link rel="alternate" href="https://www.stackoverflow.com/ro_ro/" hreflang="ro-RO"> 
<link rel="alternate" href="https://www.stackoverflow.com/fi_fi/" hreflang="fi-FI"> 

Idealerweise ist die xpath Abfrage zurückkehren würde: https://www.stackoverflow.com/ro_ro/.

Ich habe in der Nähe, aber es gibt mehrere Links auf der Seite URL, aber nie mit hreflang Attribut.

Ich bin dies in großem Maßstab zu tun, sollte ich beachten Sie, dass diese tiefe Seite URLs bedeutet, dass ich aussehen extrahieren wollen wird: https://www.stackoverflow.com/ro_ro/xpath-help-for-a-noob/

Edit: Irgendwelche Ideen, warum dieses downvotes bekam?

Antwort

0

unten XPath Versuchen href von link Elementen gewünscht zu erhalten, die enthält hreflang Attribut:.?

//link[@hreflang and contains(@href, 'ro_ro')]/@href 
+0

Danke für Ihre Reaktion, die für mich nicht, obwohl schien zu funktionieren Irgendwelche Ideen –

+0

Was meinst du? Schien nicht für mich zu arbeiten? Sie erhalten eine falsche Ausgabe oder Sie erhalten einen Fehler? Dies ist eine reine "XPath" -Lösung, während das von Ihnen verwendete Tool es möglicherweise nicht unterstützt ... – Andersson

+0

Hallo Andersson, tut mir leid, mein Fehler, es funktioniert. Ich danke dir sehr! –

-1

sollten Sie in der Lage sein, diese URLs mit der Aussage

descendant::link[contains(@href, 'ro_ro')] 

mit dem Basisknoten des Dokuments als der aktuellen Knoten

der Nachkommen Achse XPath durch alle untergeordneten Knoten suchen erzählt zu bekommen. :: Verbindungsmittel, um nur die Knoten mit dem Namen Link und den Ausdruck in eckigen Klammern bedeutet „nur diejenigen Knoten auszuwählen, dessen Attribut enthält href‚ro_ro'-

1

Sie den hreflang in Google-Tabelle erhalten können anhand der folgenden Formel

=importxml("https://example.org" ,"//link[@hreflang]/@href") 
Verwandte Themen