PyQuery jQuery de la Python

În acest tutorial, veți avea o privire PyQuery, o bibliotecă Python care vă permite să efectuați interogări jQuery pe documente XML. Sintactic este destul de similar cu jQuery, iar dacă sunteți familiarizat cu jQuery ar trebui să fie mai ușor de urmat.

Noțiuni de bază cu PyQuery

Pentru a începe cu PyQuery, instalați pachetul Python utilizând PIP.

pip install pyquery

Odată ce ați instalat PyQuery, importați-l în programul Python.

de la pyquery import PyQuery ca pq

Să începem cu un exemplu de bază al modului în care funcționează. Luați în considerare următoarele HTML: 

Salut Lume

Treceți XML la intrare PyQuery obiect și ar trebui să puteți aplica interogări de stil jQuery.

divMain = pq ("
Salut Lume
„)

presupune divMain ca obiect jQuery și tipăriți conținutul HTML al div.

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

Salvați modificările și încercați să executați programul. Ar trebui să aveți următoarele rezultate:

Salut Lume

Pentru a accesa Salut Lume text din interiorul intervalului, codul ar fi:

imprimare divMain ('# divMain') text ()

Salvați modificările și încercați să executați codul. Ar trebui să aveți următoarele rezultate:

Salut Lume

Atribuiri de manipulare folosind PyQuery

Acum, să aruncăm o privire asupra modului de citire a atributelor utilizând PyQuery bibliotecă. Să presupunem că aveți un element HTML așa cum este arătat:

  • Roy
  • Hari

Folosește PyQuery bibliotecă pentru a citi conținutul HTML de mai sus.

ulMain = pq ("
  • Roy
  • Hari
„)

Să încercăm să accesăm atributul ID al ulMain ul.

print ulMain.attr ('id')

Salvați modificările de mai sus și încercați să executați programul Python. Ar trebui să aveți identitate ulMain imprimate pe terminal.

Ați văzut cum să accesați atributul ID al ul ulMain. Să încercăm să setăm un nume pentru aceeași clasă ulMain element. Pentru a specifica un atribut al unui nume de clasă, trebuie să specificați numele atributului și valoarea sa corespunzătoare așa cum este prezentat:

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

Imprimați ulMain obiect și ar trebui să aveți elementul cu atributul de clasă.

  • Roy
  • Hari

De asemenea, puteți adăuga și elimina direct clasele fără a utiliza attr metodă. Pentru a adăuga o clasă elementului, puteți folosi metoda addClass

ulMain.addClass ( 'test')

Pentru a elimina o clasă existentă din element, puteți utiliza funcția removeClass metodă.

ulMain.removeClass ( 'test')

Manipularea CSS folosind PyQuery

În afară de atribute, elementul ar avea proprietăți CSS. Pentru a adăuga sau a modifica proprietățile CSS, puteți utiliza css și specificați proprietățile. Să presupunem că doriți să specificați înălțimea în stilul ul ulMain. Următorul cod va adăuga proprietățile stilului necesar elementului.

ulMain.css ( 'înălțime', '100px')

Salvați modificările de mai sus și încercați să executați programul Python. Ar trebui să aveți ul ulMain tipărite împreună cu noul stil.

  • Roy
  • Hari

Pentru a adăuga mai multe stiluri la element, le puteți specifica după cum se arată:

ulMain.css ( 'înălțime': '100px', 'lățime': '100px')

Rulați programul și ar trebui să aveți stilurile adăugate la ulMain.

  • Roy
  • Hari

Crearea și adăugarea elementelor

În timpul creării elementelor dinamice, vi se cere să creați elemente noi și să le adăugați la elementul părinte existent unde vor fi redate. Să aruncăm o privire asupra modului de creare și adăugare a elementelor folosind PyQuery

Să presupunem că aveți un container principal numit divMain.

divMain = pq ("
„)

Să creăm un nou element de span folosind PyQuery.

span = pq ('Salut Lume„)

Adăugați câteva proprietăți CSS în intervalul de timp.

span.css ( 'culoare': 'albastru', 'font-weight': 'bold')

PyQuery oferă o metodă de adăugare a elementelor elementelor existente. Puteți utiliza funcția adăuga metodă de adăugare a elementului span către div divMain. Iată codul:

divMain.append (span) print divMain

Salvați modificările și executați programul. Ar trebui să puteți vedea divMain tipărite cu spanul nou creat.

Salut Lume

Ați folosit metoda atașată pentru a adăuga intervalul la div. Aveți o altă metodă alternativă numită adăuga la care ar adăuga nodurile la valoare. În cazul de mai sus, puteți folosi metoda cum ar fi:

span.appendTo (divMain)

Găsirea elementelor utilizând PyQuery

PyQuery oferă metode pentru a găsi copii, elementele următoare, elementele cele mai apropiate etc. Oferă de asemenea metode de filtrare și de găsire a elementelor dintr-un anumit nod.

Să presupunem că aveți o bucată particulară de HTML după cum se arată:

  • Jad
  • Jim
Salut Lume

Adăugați următorul cod HTML la PyQuery obiect:

divMain = pq ("
"+"
"+"
    "+"
  • Jad
  • "+"
  • Jim
  • "+"
""
"+"
"+"Salut Lume""
"+"
„)

Să folosim PyQuery pentru a găsi copiii din div divMain. Adăugați următoarea linie de cod pentru a imprima copiii din divMain.

print divMain.children ()

La rularea programului, trebuie să aveți următoarele rezultate:

  • Jad
  • Jim
Salut Lume

Pentru a găsi elementul cel mai apropiat de un element, puteți folosi metoda cel mai apropiat. Pentru a găsi cel mai apropiat element div la interval, codul ar fi:

print divMain ("span"). cel mai apropiat ("div")

Comanda de mai sus va returna următoarea ieșire:

Salut Lume

A găsi este disponibilă și pentru a găsi elementele. De exemplu, pentru a găsi o deschidere în interior divMain, trebuie să apelați metoda după cum se arată:

tipăriți divMain.find ('span')

Comanda de mai sus va returna intervalul.

Salut Lume

Introduceți un Element Inside HTML

In timp ce adăuga lucrează în adăugarea elementelor elementelor existente, uneori trebuie să introduceți elemente după sau înainte de anumite elemente. PyQuery oferă o metodă de introducere a elementelor înainte sau după alte elemente.

Să definim un nou element de paragraf care să fie introdus după intervalul din interiorul lui divMain div.

p = pq ('

Bine ati venit

„)

Suna insertAfter privind alineatul p element pentru al introduce după span.

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

Salvați modificările de mai sus și executați programul Python. Ar trebui să aveți următoarele rezultate:

  • Jad
  • Jim
Salut Lume

Bine ati venit

În mod similar, aveți și insertBefore , care se introduce înainte de element. Modificați codul după cum se arată mai jos pentru a utiliza insertBefore metodă: 

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

Salvați modificările și executați programul. Ar trebui să puteți vedea următoarea ieșire pe terminal:

  • Jad
  • Jim

Bine ati venit

Salut Lume

Înfășurați-o

În acest tutorial, ați văzut cum să începeți PyQuery, o bibliotecă Python care vă permite să efectuați interogări jQuery pe documente XML. Ați văzut cum să manipulați atributele și stilurile CSS ale elementelor HTML. 

Ați învățat cum să creați și să adăugați elemente elementelor existente și să inserați elemente noi înainte și după elemente. Ceea ce ați văzut în acest tutorial este doar vârful aisbergului și există mult mai mult decât această bibliotecă are de oferit.

Pentru informații mai detaliate despre utilizarea acestei biblioteci, aș recomanda citirea documentației oficiale. Spuneți-ne sugestiile dvs. în comentariile de mai jos.

Cod