PyQuery Pythons jQuery

In diesem Tutorial werden Sie einen Blick darauf werfen PyQuery, eine Python-Bibliothek, mit der Sie jQuery-Abfragen für XML-Dokumente ausführen können. Syntaktisch ist es jQuery sehr ähnlich, und wenn Sie mit jQuery vertraut sind, sollte es einfacher zu folgen sein.

Erste Schritte mit PyQuery

Um mit anzufangen PyQuery, Installieren Sie das Python-Paket mit PIP.

pip install pyquery

Sobald Sie installiert haben PyQuery, Importiere es in das Python-Programm.

aus pyquery importieren Sie PyQuery als pq

Beginnen wir mit einem grundlegenden Beispiel, wie es funktioniert. Betrachten Sie folgendes HTML: 

Hallo Welt

Übergeben Sie die Eingabe-XML an die PyQuery Objekt und Sie sollten in der Lage sein, jQuery-Stilabfragen darauf anzuwenden.

divMain = pq ("
Hallo Welt
")

Annehmen divMain als jQuery-Objekt und drucken Sie den HTML-Inhalt des div.

print divMain ('# divMain'). html ()

Speichern Sie die Änderungen und versuchen Sie, das Programm auszuführen. Sie sollten die folgende Ausgabe haben:

Hallo Welt

Zugriff auf die Hallo Welt Text aus dem Inneren des Bereichs, der Code wäre:

divMain drucken ('# divMain'). text ()

Speichern Sie die Änderungen und versuchen Sie, den Code auszuführen. Sie sollten die folgende Ausgabe haben:

Hallo Welt

Attribute bearbeiten mit PyQuery

Schauen wir uns nun an, wie Sie die Attribute mit Hilfe von lesen PyQuery Bibliothek. Angenommen, Sie haben ein HTML-Element wie gezeigt:

  • Roy
  • Hari

Verwenden Sie die PyQuery Bibliothek, um den obigen HTML-Inhalt zu lesen.

ulMain = pq ("
  • Roy
  • Hari
")

Versuchen wir, auf das ID-Attribut von zuzugreifen ulMain ul.

print ulMain.attr ('id')

Speichern Sie die obigen Änderungen und führen Sie das Python-Programm aus. Sie sollten eine ID haben ulMain auf dem Terminal gedruckt.

Sie haben gesehen, wie Sie auf das ID-Attribut der ul ulMain. Versuchen wir, einen Klassennamen für diesen Wert festzulegen ulMain Element. Um ein Klassennamensattribut anzugeben, müssen Sie den Attributnamen und den entsprechenden Wert wie folgt angeben:

ulMain.attr ('class', 'testclass')

Drucken Sie die ulMain Objekt und Sie sollten das Element mit dem Klassenattribut haben.

  • Roy
  • Hari

Sie können Klassen auch direkt hinzufügen und entfernen, ohne die attr Methode. Um dem Element eine Klasse hinzuzufügen, können Sie die Methode verwenden addClass

ulMain.addClass ('test')

Um eine vorhandene Klasse aus dem Element zu entfernen, können Sie das verwenden removeClass Methode.

ulMain.removeClass ('test')

Umgang mit CSS mit PyQuery

Abgesehen von Attributen hätte das Element einige CSS-Eigenschaften. Um die CSS-Eigenschaften hinzuzufügen oder zu ändern, können Sie das verwenden css Methode und geben Sie die Eigenschaften an. Angenommen, Sie möchten die Höhe im Stil von ul festlegen ulMain. Der folgende Code fügt dem Element die erforderlichen Stileigenschaften hinzu.

ulMain.css ('height', '100px')

Speichern Sie die obigen Änderungen und versuchen Sie, das Python-Programm auszuführen. Sie sollten die ul haben ulMain zusammen mit dem neuen Stil gedruckt.

  • Roy
  • Hari

Um dem Element mehrere Stile hinzuzufügen, können Sie sie wie folgt angeben:

ulMain.css ('height': '100px', 'width': '100px')

Führen Sie das Programm aus, und Sie sollten die Stile zum hinzugefügt haben ulMain.

  • Roy
  • Hari

Elemente erstellen und anhängen

Während der dynamischen Elementerstellung müssen Sie neue Elemente erstellen und an das vorhandene übergeordnete Element anhängen, wo sie gerendert werden. Schauen wir uns an, wie man Elemente mit erstellt und anfügt PyQuery

Angenommen, Sie haben einen main-Container div aufgerufen divMain.

divMain = pq ("
")

Erstellen Sie ein neues Span-Element mit PyQuery.

span = pq ('Hallo Welt')

Fügen Sie dem Bereich einige CSS-Eigenschaften hinzu.

span.css ('color': 'blue', 'font-weight': 'fett')

PyQuery stellt eine Methode zum Hinzufügen von Elementen zu vorhandenen Elementen bereit. Du kannst den ... benutzen anhängen Methode, um das span-Element an das div anzuhängen divMain. Hier ist der Code:

divMain.append (span) print divMain

Speichern Sie die Änderungen und führen Sie das Programm aus. Sie sollten das sehen können divMain mit dem neu erstellten Bereich gedruckt wird.

Hallo Welt

Sie haben die Append-Methode verwendet, um die Spanne an das div anzuhängen. Sie haben eine andere alternative Methode aufgerufen Anhängen was die Knoten an Wert anhängen würde. Im obigen Fall können Sie die Methode wie folgt verwenden:

span.appendTo (divMain)

Elemente mit PyQuery suchen

PyQuery stellt Methoden zum Suchen von untergeordneten Elementen, der nächsten Elemente, der nächsten Elemente usw. bereit. Außerdem werden Methoden zum Filtern und Suchen von Elementen in einem bestimmten Knoten bereitgestellt.

Angenommen, Sie haben ein bestimmtes HTML-Stück wie gezeigt:

  • Jade
  • Jim
Hallo Welt

Fügen Sie das folgende HTML hinzu PyQuery Objekt:

divMain = pq ("
"+"
"+"
    "+"
  • Jade
  • "+"
  • Jim
  • "+"
""
"+"
"+"Hallo Welt""
"+"
")

Lass uns benutzen PyQuery um die Kinder des div zu finden divMain. Fügen Sie die folgende Codezeile hinzu, um die untergeordneten Elemente zu drucken divMain.

print divMain.children ()

Beim Ausführen des Programms sollten Sie die folgende Ausgabe haben:

  • Jade
  • Jim
Hallo Welt

Um das Element, das einem Element am nächsten ist, zu finden, können Sie die Methode verwenden am nächsten. Um das am nächsten liegende div-Element zu finden, lautet der Code:

print divMain ('span'). am nächsten ('div')

Der obige Befehl würde die folgende Ausgabe zurückgeben:

Hallo Welt

EIN finden Es gibt auch eine Methode, um die Elemente zu finden. Zum Beispiel, um eine Spanne innerhalb der zu finden divMain, Sie müssen die Methode wie gezeigt aufrufen:

print divMain.find ('span')

Der obige Befehl würde die Spanne zurückgeben.

Hallo Welt

Einfügen eines Elements in HTML

Während anhängen Fügt man den vorhandenen Elementen Elemente hinzu, müssen Sie manchmal Elemente nach oder vor bestimmten Elementen einfügen. PyQuery bietet eine Methode zum Einfügen von Elementen vor oder nach anderen Elementen.

Definieren Sie ein neues Absatzelement, das nach dem Bereich innerhalb von eingefügt wird divMain div.

p = pq ('

Herzlich willkommen

')

Ruf den insertAfter Methode im Absatz p Element, um es nach dem Span einzufügen.

p.insertAfter (divMain ('span')) druckt divMain

Speichern Sie die obigen Änderungen und führen Sie das Python-Programm aus. Sie sollten die folgende Ausgabe haben:

  • Jade
  • Jim
Hallo Welt

Herzlich willkommen

Ebenso haben Sie die insertBefore Methode, die vor dem Element eingefügt wird. Ändern Sie den Code wie unten gezeigt, um den Code zu verwenden insertBefore Methode: 

 p.insertBefore (divMain ('span')) druckt divMain 

Speichern Sie die Änderungen und führen Sie das Programm aus. Sie sollten die folgende Ausgabe auf dem Terminal sehen können:

  • Jade
  • Jim

Herzlich willkommen

Hallo Welt

Verpacken

In diesem Lernprogramm haben Sie gesehen, wie Sie damit beginnen PyQuery, eine Python-Bibliothek, mit der Sie jQuery-Abfragen für XML-Dokumente ausführen können. Sie haben gesehen, wie Sie die Attribute und CSS-Stile der HTML-Elemente bearbeiten. 

Sie haben gelernt, wie Sie Elemente erstellen und an vorhandene Elemente anhängen und neue Elemente vor und nach Elementen einfügen. Was Sie in diesem Tutorial gesehen haben, ist nur die Spitze des Eisbergs, und diese Bibliothek bietet noch viel mehr.

Für genauere Informationen zur Verwendung dieser Bibliothek würde ich empfehlen, die offizielle Dokumentation zu lesen. Teilen Sie uns Ihre Vorschläge in den Kommentaren mit.