Î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.
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
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:
Folosește PyQuery
bibliotecă pentru a citi conținutul HTML de mai sus.
ulMain = pq ("
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ă.
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')
Î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.
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
.
Î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)
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
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 LumeBine 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
Î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.