PyQuery Pythons jQuery

I den här handledningen ser du på PyQuery, ett Python-bibliotek som låter dig göra jQuery-frågor på XML-dokument. Synaktiskt är det ganska likt jQuery, och om du är bekant med jQuery, borde det vara lättare att följa.

Komma igång med PyQuery

För att komma igång med PyQuery, installera Python-paketet med hjälp av PIP.

pip installation pyquery

När du har installerat PyQuery, importera det till Python-programmet.

från pyquery import PyQuery som pq

Låt oss börja med ett grundläggande exempel på hur det fungerar. Tänk på följande HTML: 

Hej världen

Passera inmatnings XML till PyQuery objekt och du bör kunna använda jQuery-stilfrågor till den.

divMain = pq ("
Hej världen
")

Antar divMain som ett jQuery-objekt och skriva ut HTML-innehållet i div.

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

Spara ändringarna och försök att köra programmet. Du bör ha följande produktion:

Hej världen

För att komma åt Hej världen text från insidan spänningen, skulle koden vara:

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

Spara ändringarna och försök att köra koden. Du bör ha följande produktion:

Hej världen

Attribut Manipulation Använda PyQuery

Låt oss nu titta på hur man läser attributen med hjälp av PyQuery bibliotek. Antag att du har ett HTML-element som visas:

  • Roy
  • hari

Använd PyQuery bibliotek för att läsa ovanstående HTML-innehåll.

ulMain = pq ("
  • Roy
  • hari
")

Låt oss försöka få åtkomst till ID-attributet för ulMain ul.

skriv ut ulMain.attr ('id')

Spara ovanstående ändringar och försök att köra Python-programmet. Du borde ha ID ulMain tryckt på terminalen.

Du såg hur du ska komma åt ID-attributet för ul ulMain. Låt oss försöka att ange ett klassnamn för detsamma ulMain element. För att ange ett klassnamnattribut måste du ange attributnamnet och motsvarande värde enligt följande:

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

Skriv ut ulMain objekt och du borde ha elementet med klassattributet.

  • Roy
  • hari

Du kan också lägga till och ta bort klasser direkt utan att använda attr metod. För att lägga till en klass i elementet kan du använda metoden addClass

ulMain.addClass ( 'test')

För att ta bort en befintlig klass från elementet kan du utnyttja removeClass metod.

ulMain.removeClass ( 'test')

Hantering av CSS Användning av PyQuery

Bortsett från attribut, skulle elementet ha några CSS egenskaper. För att lägga till eller ändra CSS-egenskaperna kan du använda css metod och ange egenskaperna. Låt oss säga att du vill ange höjden i stilen på ul ulMain. Följande kod skulle lägga till de önskade stilegenskaperna till elementet.

ulMain.css ( 'höjd', '100px')

Spara ovanstående ändringar och försök att exekvera Python-programmet. Du borde ha ul ulMain tryckt tillsammans med den nya stilen.

  • Roy
  • hari

För att lägga till flera stilar till elementet kan du ange dem enligt följande:

ulMain.css ( 'höjd': '100px', 'bredd': '100px')

Kör programmet och du borde ha de stilar som läggs till i ulMain.

  • Roy
  • hari

Skapa och lägga till element

Vid skapandet av dynamisk element måste du skapa nya element och lägga till dem i det befintliga moderelementet där de ska återges. Låt oss ta en titt på hur man skapar och lägger till element med PyQuery

Antag att du har en huvudbehållare som heter divMain.

divMain = pq ("
")

Låt oss skapa ett nytt spännelement med PyQuery.

span = pq ('Hej världen')

Lägg till några CSS-egenskaper i spänningen.

span.css ( 'färg': 'blå', 'font-weight': 'fetstil')

PyQuery tillhandahåller en metod för att lägga till element i befintliga delar. Du kan använda bifoga metod för att lägga spännelementet till div divMain. Här är koden:

divMain.append (span) print divMain

Spara ändringarna och kör programmet. Du borde kunna se divMain tryckt med den nyskapade spänningen som bifogas den.

Hej världen

Du använde appendmetoden för att lägga till spänningen till div. Du har en annan alternativ metod som heter append till vilket skulle lägga noderna till värde. I ovanstående fall kan du använda metoden som så:

span.appendTo (divMain)

Hitta element med PyQuery

PyQuery ger metoder för att hitta barn, nästa element, närmaste element etc. Det ger också metoder för att filtrera och hitta element i en viss nod.

Antag att du har en viss del av HTML som visas:

  • Jade
  • Jim
Hej världen

Lägg till följande HTML i PyQuery objekt:

divMain = pq ("
"+"
"+"
    "+"
  • Jade
  • "+"
  • Jim
  • "+"
""
"+"
"+"Hej världen""
"+"
")

Låt oss använda PyQuery för att hitta barnen till div divMain. Lägg till följande rad kod för att skriva ut barnen till divMain.

skriv ut divMain.children ()

När du kör programmet bör du ha följande utdata:

  • Jade
  • Jim
Hej världen

För att hitta det närmaste elementet till ett element kan du använda metoden närmast. För att hitta det närmaste div-elementet till spänningen skulle koden vara:

skriv ut divMain ('span') närmaste ('div')

Ovanstående kommando skulle returnera följande utmatning:

Hej världen

en hitta Metoden är också tillgänglig för att hitta elementen. Till exempel, för att hitta ett span inne i divMain, du måste ringa metoden som visas:

skriv ut divMain.find ('span')

Ovanstående kommando skulle returnera spänningen.

Hej världen

Sätt in en Element Inside HTML

Medan bifoga gör arbetet med att lägga till element till de befintliga elementen, ibland behöver du infoga element efter eller före vissa element. PyQuery tillhandahåller en metod för att infoga element före eller efter andra element.

Låt oss definiera ett nytt styckeelement som ska införas efter spänningen inuti divMain div.

p = pq ('

Välkommen

')

Ring Insert metod på stycket p element för att infoga det efter spänningen.

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

Spara ovanstående ändringar och kör Python-programmet. Du bör ha följande produktion:

  • Jade
  • Jim
Hej världen

Välkommen

På samma sätt har du insert metod som införs före elementet. Ändra koden enligt nedan för att använda insert metod: 

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

Spara ändringarna och kör programmet. Du bör kunna se följande utmatning på terminalen:

  • Jade
  • Jim

Välkommen

Hej världen

Wrapping It Up

I den här handledningen såg du hur du började med PyQuery, ett Python-bibliotek som låter dig göra jQuery-frågor på XML-dokument. Du såg hur man manipulerar attributen och CSS-stilerna i HTML-elementen. 

Du lärde dig hur du skapar och lägger till element i befintliga element och lägger in nya element före och efter element. Det du såg i den här handledningen är bara toppen av isberget, och det finns mycket mer som detta bibliotek har att erbjuda.

För mer detaljerad information om hur du använder det här biblioteket, rekommenderar jag att du läser den officiella dokumentationen. Låt oss veta dina förslag i kommentarerna nedan.