Heim >Backend-Entwicklung >Python-Tutorial >PyQuery: Python's JQuery
In diesem Tutorial schauen Sie sich das PyQuery -Objekt an, das dem ähnlich ist, was Sie mit $ () bei der Verwendung der JQuery -Bibliothek erhalten. Genau wie bei der HTML () -Methode in PyQuery können Sie den HTML -Inhalt des ausgewählten Elements erhalten oder festlegen. Hier ist ein Beispiel:
Schauen Sie sich nun den folgenden Code an, in dem wir zuerst die HTML für unseren Selektor mithilfe der HTML ()
print(webpage.html())<br><br>'''<br><head><br><meta charset="utf-8"/><br><title>A Simple Webpage</title><br><meta name="viewport" content="width=device-width, initial-scale=1"/><br></head><br><br><body><br> <p>Hello <b>world</b>! This is a basic webpage.</p><br> <p>Here is a list of some <i>random</i> words:</p><br> <ul ><br> <li>Impedimenta</li><br> <li>Decompensation</li><br> <li>Tergiversation</li><br> <li>Transcendentalism</li><br> <li>Polyphiloprogenitive</li><br> </ul><br></body><br>'''<br>-Methode festlegen. Mal sehen, was wir sonst noch ändern können. Dies bedeutet, dass Sie Zugriff auf eine Attributmethode namens Class
Attribut aus der Liste erhalten. Wir werden auch die ATTR () -Methode verwenden, um unsere Attr ()
-Methode in PyQuery einen Satz von Klassen hinzuzufügen. Setzt auch den Attributwert für alle passenden Elemente anstelle der ersten. Klassen Ihrer Elemente können Sie auch in Betracht ziehen, die RemoveClass ()print(webpage("p").html())<br><br>'''<br>Hello <b>world</b>! This is a basic webpage.<br>'''<br>-Methoden zu verwenden, die eine CSS -Klasse hinzufügen oder entfernen. Sie können auch die Methodennamen verwenden. REMET_CLASS ()
Wenn Sie mit Unterstriche mit Unterstriche in der Arbeit wohler sind. der in jQuery. Nachdem wir die Stile aktualisiert haben, haben wir das neue Markup in einer Datei namens aktualisiert_markup.html
gespeichert. Sie können das Gleiche auch vornehmen, nachdem Sie eine Vielzahl von Änderungen am Markup vorgenommen haben. Können wir die Liste der Wörter erweitern? Natürlich können wir. Sie müssen lediglich die Prepend ()from pyquery import PyQuery as pq<br><br>webpage = pq(filename = 'document.html')<br><br>print(webpage("p").html())<br>'''<br>Hello <b>world</b>! This is a basic webpage.<br>'''<br><br>webpage("p").html("Hello <b>world</b>! I have changed this paragraph.")<br><br>print(webpage("p").html())<br>'''<br>Hello <b>world</b>! I have changed this paragraph.<br>'''<br>-Methoden verwenden. Die Prepend ()
-Methode bereitet den übergebenen Wert auf den aufrufenden Knoten vor. Hier ist ein Beispiel:
. Die Prepend_to () -Methode bereitet Ihren Anrufknoten auf den übergebenen Knoten vor. Denken Sie jedoch daran, dass Sie diese Methoden nicht einfach in einer Zeichenfolge aufrufen können. Sie müssen sie in ein PyQuery -Objekt einwickeln, damit der Anruf wie unten gezeigt wird:
print(webpage.html())<br><br>'''<br><head><br><meta charset="utf-8"/><br><title>A Simple Webpage</title><br><meta name="viewport" content="width=device-width, initial-scale=1"/><br></head><br><br><body><br> <p>Hello <b>world</b>! This is a basic webpage.</p><br> <p>Here is a list of some <i>random</i> words:</p><br> <ul ><br> <li>Impedimenta</li><br> <li>Decompensation</li><br> <li>Tergiversation</li><br> <li>Transcendentalism</li><br> <li>Polyphiloprogenitive</li><br> </ul><br></body><br>'''<br>
Wie Sie sehen können, erhalten wir die gleiche Ausgabe. Sie können auch Knoten aus Ihrem Dokument entfernen, indem Sie einfach die Kinder () und Kinder () alle Elemente zurückrufen, die direkte Kinder des Anrufknotens sind. In unserem Fall bedeutet dies alle Listenelemente. Danach verwenden wir die Li -Tags, um sie an unsere jetzt leere, ungeordnete Liste anzuhängen. Bevor Sie diese Daten aus jedem Element extrahieren können, müssen Sie das Element finden oder finden. Andere ähnliche Methoden, die Sie anwenden können, sind PREV_ALL ()
, die Ihnen alle Geschwister geben, die als nächstes oder die Geschwister vorliegen, die jeweils vorhanden sind. Hier ist ein Beispiel:Inhalt aus einer Webseite extrahiert
Erinnerst du dich, als ich dir zu Beginn des Tutorials gesagt habe, dass Pyquery Eingaben aus mehreren Quellen wie einer String, einer Datei oder sogar einem URL -URL -A -🎜> in diesem Abschnitt über einen Python über einen Python übernach. Die Webseite enthält viele Informationen über Python. Wir werden versuchen, einen Teil davon für unseren Verbrauch zu extrahieren. Mal sehen, ob wir alle Überschriften der H2
print(webpage("p").html())<br><br>'''<br>Hello <b>world</b>! This is a basic webpage.<br>'''<br>H2
mir einige zusätzliche Überschriften gab, die nicht Teil des Hauptinhalts waren. Sie müssen auch selbst eine ähnliche Analyse der Webseiten durchführen, bevor Sie den entsprechenden Selektor zum Extrahieren der Informationen verwenden. Eine Einschränkung des Beispiels, das ich dort eingeschlossen habe, bestand aus, dass wir den Weg des Bildes hart kodierten. Verwenden wir die PyQuery -Bibliothek, um die Bildpfade aus einer Webseite zu extrahieren und sie dann zum Herunterladen des Anfragemoduls zu füttern. Ich werde die Wikipedia -Seite über die USA für dieses Beispiel verwenden:
Wir möchten keine Bilder der UI -Symbole usw. herunterladen. Deshalb habe ich einen spezifischeren Selektor verwendet, um unsere Bilder zu extrahieren. Ich erhalte den Namen des Bilddateins, indem ich den letzten Teil des Bildpfads nehme, nachdem ich ihn entlang desfrom pyquery import PyQuery as pq<br><br>webpage = pq(filename = 'document.html')<br><br>print(webpage("p").html())<br>'''<br>Hello <b>world</b>! This is a basic webpage.<br>'''<br><br>webpage("p").html("Hello <b>world</b>! I have changed this paragraph.")<br><br>print(webpage("p").html())<br>'''<br>Hello <b>world</b>! I have changed this paragraph.<br>'''<br>/
, mit der Sie JQuery -Abfragen zu XML -Dokumenten vornehmen können. Sie haben gesehen, wie man die Attribute und CSS -Stile der HTML -Elemente manipuliert. PyQuery
Das obige ist der detaillierte Inhalt vonPyQuery: Python's JQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!