PyQuery Pythons jQuery

I denne opplæringen vil du se på PyQuery, et Python-bibliotek som lar deg lage jQuery-spørringer på XML-dokumenter. Synaktisk er det ganske lik jQuery, og hvis du er kjent med jQuery, bør det være lettere å følge.

Komme i gang med PyQuery

Å komme i gang med PyQuery, installer Python-pakken ved hjelp av PIP.

pip install pyquery

Når du har installert PyQuery, importer det til Python-programmet.

fra pyquery import PyQuery som pq

La oss starte med et grunnleggende eksempel på hvordan det fungerer. Vurder følgende HTML: 

Hei Verden

Pass input XML til PyQuery objekt og du bør kunne bruke jQuery stil spørringer til den.

divMain = pq ("
Hei Verden
")

Anta divMain som et jQuery-objekt og skriv ut HTML-innholdet i div.

skriv ut divMain ('# divMain'). html ()

Lagre endringene og prøv å kjøre programmet. Du bør ha følgende utgang:

Hei Verden

Å få tilgang til Hei Verden tekst fra innsiden av spenningen, vil koden være:

skriv ut divMain ('# divMain'). tekst ()

Lagre endringene og prøv å kjøre koden. Du bør ha følgende utgang:

Hei Verden

Attributter Manipulering ved hjelp av PyQuery

La oss nå se på hvordan du leser attributter ved hjelp av PyQuery bibliotek. Anta at du har et HTML-element som vist:

  • Roy
  • Hari

Bruke PyQuery bibliotek for å lese HTML-innholdet ovenfor.

ulMain = pq ("
  • Roy
  • Hari
")

La oss prøve å få tilgang til ID-attributtet til ulMain ul.

skriv ut ulMain.attr ('id')

Lagre endringene ovenfor og prøv å kjøre Python-programmet. Du bør ha ID ulMain trykt på terminalen.

Du så hvordan du får tilgang til ID-attributtet til ul ulMain. La oss prøve å sette et klassenavn for det samme ulMain element. For å angi et klassenavnetattributt må du angi attributtens navn og tilhørende verdi som vist:

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

Skriv ut ulMain objekt og du bør ha elementet med klassen attributtet.

  • Roy
  • Hari

Du kan også legge til og fjerne klasser direkte uten å bruke attr metode. Hvis du vil legge til en klasse i elementet, kan du bruke metoden addClass

ulMain.addClass ( 'test')

For å fjerne en eksisterende klasse fra elementet, kan du gjøre bruk av removeClass metode.

ulMain.removeClass ( 'test')

Håndtere CSS ved hjelp av PyQuery

Bortsett fra attributter, ville elementet ha noen CSS egenskaper. For å legge til eller endre CSS egenskaper, kan du bruke css metode og spesifiser egenskapene. La oss si at du vil spesifisere høyden i stilen til ul ulMain. Følgende kode vil legge til de nødvendige stilegenskapene til elementet.

ulMain.css ( 'høyde', '100 piksler')

Lagre endringene ovenfor og prøv å utføre Python-programmet. Du burde ha ul ulMain trykt sammen med den nye stilen.

  • Roy
  • Hari

For å legge til flere stilarter til elementet, kan du angi dem som vist:

ulMain.css ( 'høyde': '100 piksler', 'bredde': '100 piksler')

Kjør programmet, og du bør ha stilene lagt til ulMain.

  • Roy
  • Hari

Opprette og legge til elementer

Under dynamisk elementopprettelse må du opprette nye elementer og legge dem til det eksisterende overordnet elementet der de skal gjengis. La oss se på hvordan du lager og legger til elementer ved hjelp av PyQuery

Anta at du har en hoved container div kalt divMain.

divMain = pq ("
")

La oss lage et nytt spenningselement ved hjelp av PyQuery.

span = pq ('Hei Verden')

Legg til noen CSS-egenskaper i spekteret.

span.css ( 'farge': 'blå', 'font-vekt': 'bold')

PyQuery Gir en metode for å legge til elementer i eksisterende elementer. Du kan bruke føyer metode for å legge til spenningselementet til div divMain. Her er koden:

divMain.append (span) print divMain

Lagre endringene og kjøre programmet. Du bør kunne se divMain trykt med det nyopprettede spekteret vedlagt det.

Hei Verden

Du brukte append-metoden til å legge til spenningen til div. Du har en annen alternativ metode kalt appendTo som ville legge til noder å verdsette. I det ovennevnte tilfellet kan du bruke metoden slik:

span.appendTo (divMain)

Finne elementer ved hjelp av PyQuery

PyQuery gir metoder for å finne barn, de neste elementene, de nærmeste elementene, etc. Det gir også metoder for å filtrere og finne elementer inne i en bestemt node.

Anta at du har et bestemt stykke HTML som vist:

  • jade
  • Jim
Hei Verden

Legg til følgende HTML for PyQuery gjenstand:

divMain = pq ("
"+"
"+"
    "+"
  • jade
  • "+"
  • Jim
  • "+"
""
"+"
"+"Hei Verden""
"+"
")

La oss bruke PyQuery for å finne barn av div divMain. Legg til følgende linje med kode for å skrive ut barna til divMain.

skriv ut divMain.children ()

Når du kjører programmet, bør du ha følgende utgang:

  • jade
  • Jim
Hei Verden

For å finne det nærmeste elementet til et element, kan du bruke metoden nærmeste. For å finne det nærmeste div-elementet til spenningen, ville koden være:

skriv ut divMain ('span'). nærmest ('div')

Kommandoen ovenfor vil returnere følgende utgang:

Hei Verden

EN finne Metoden er også tilgjengelig for å finne elementene. For eksempel, for å finne et span inne i divMain, du må ringe metoden som vist:

skriv ut divMain.find ('span')

Ovennevnte kommando vil returnere spenningen.

Hei Verden

Sett inn en Element Inside HTML

Samtidig som føyer gjør arbeidet med å legge til elementer til de eksisterende elementene, noen ganger må du sette inn elementer etter eller før enkelte elementer. PyQuery Gir en metode for å sette inn elementer før eller etter andre elementer.

La oss definere et nytt avsnittelement som skal settes inn etter spenningen inne i divMain div.

p = pq ('

Velkommen

')

Ring insertAfter metode på avsnittet p element for å sette det inn etter spenningen.

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

Lagre endringene ovenfor og kjør Python-programmet. Du bør ha følgende utgang:

  • jade
  • Jim
Hei Verden

Velkommen

På samme måte har du insertBefore metode, som setter inn før elementet. Endre koden som vist nedenfor for å bruke insertBefore metode: 

 p.insertFor (divMain ('span')) skriv ut divMain 

Lagre endringene og kjøre programmet. Du bør kunne se følgende utgang på terminalen:

  • jade
  • Jim

Velkommen

Hei Verden

Pakke det opp

I denne veiledningen så du hvordan du kommer i gang med PyQuery, et Python-bibliotek som lar deg lage jQuery-spørringer på XML-dokumenter. Du så hvordan du kan manipulere attributter og CSS-stiler i HTML-elementene. 

Du lærte å lage og legge til elementer i eksisterende elementer og sette inn nye elementer før og etter elementer. Det du så i denne opplæringen er bare toppen av isfjellet, og det er mye mer som dette biblioteket har å tilby.

For mer detaljert informasjon om bruk av dette biblioteket, vil jeg anbefale å lese den offisielle dokumentasjonen. Gi oss beskjed om dine forslag i kommentarene nedenfor.