Lxml XPath position () funktioniert nicht

Ich habe versucht, eine Seite über XPath zu kratzen, aber ich konnte es nicht wie erwartet erwarten.

Die Seite ist wie,

<tag1> <tag2> .... <div id=article> <p> stuff1 </p> <p> stuff2 </p> <p> ...... </p> <p> stuff30 </p> 

Ich möchte stuff1 durch stuff30 als String extrahieren. Hier ist mein Python-Code-Snippet.

 import lxml.html import urllib.request html = urllib.request.urlopen('http://www.something.com/news/blah/').read() root = lxml.html.fromstring(html) content = root.xpath('string(//div[@id="article"]/p[position()=>1 and position()<=last()]/.)') 

Dieser Code hat nichts zurückgegeben.

Wenn ich von der position() Anweisung zum einzelnen Elementindex umschreibe, funktioniert es.

 content = root.xpath('string(//div[@id="article"]/p[25]/.)') 

Dieser Code gibt stuff25 korrekt zurück.

Ich will nicht nur für die Loipe laufen. Ich glaube, es gibt einen Weg, um meine Code-Arbeit mit position() , aber nicht sicher, was ist falsch in meinem Code.

One Solution collect form web for “Lxml XPath position () funktioniert nicht”

Das ist, weil Sie Position () => 1 haben, sollte Position ()> = 1 sein

 content = root.xpath('string(//div[@id="article"]/p[position()>=1 and position()<=last()]/.)') 

Wird den Inhalt zu stuff1 setzen.

  • Wie selektiere ich Elemente in einem iframe mit Xpath?
  • Schaben von Web-Seite und Neuformatierung zu einer Kalender-Datei
  • Xpath wie Abfrage für verschachtelte Python-Wörterbücher
  • Python 2 v. 3 xpfad
  • Anmeldung mit Webseiten
  • Wie bekomme ich XPath 'kein' in Python, wenn keine Daten gefunden wurden?
  • Verschrottung Website, die Seite
  • Lxml xpath kann keine HTML-Elemente anzeigen
  • Wie man das XML-Attribut mit Python ElementTree extrahiert
  • Wie füge ich ein Attribut zu einem Tag hinzu, das mit xpath in lxml in Python gefunden wurde?
  • Wie lxml xpath-Funktionen in den Standard-Namespace importieren?
  • Python ist die beste Programmiersprache der Welt.