Piton

Kako raščlaniti i strugati HTML pomoću Pyqueryja

Kako raščlaniti i strugati HTML pomoću Pyqueryja
"Pyquery" je nezavisni Python modul koji vam omogućuje raščlanjivanje i izdvajanje podataka iz "xml" i "html" dokumenata. Inspiriran je jQuery JavaScript knjižnicom i sadrži gotovo identičnu sintaksu, omogućavajući vam upotrebu mnogih pomoćnih funkcija i stenografskog koda za raščlanjivanje i manipulaciju stablom dokumenata. Ovaj će članak pokrivati ​​jednostavan vodič o Pyqueryju koji će vam pomoći da započnete s modulom.

Instalacija Pyqueryja

Da biste instalirali Pyquery u Ubuntu, upotrijebite naredbu navedenu u nastavku:

$ sudo apt instalirati python3-pyquery

Također možete instalirati najnoviju verziju Pyqueryja iz upravitelja paketa "pip" izvođenjem slijedećih dviju naredbi:

$ sudo apt instalirati python3-pip
$ pip3 instaliraj pyquery

Da biste instalirali Pyquery u druge Linux distribucije, instalirajte “pip3” iz upravitelja paketa i pokrenite drugu gore spomenutu naredbu.

Stvaranje ranjivog stabla dokumenata

Da biste mogli raščlaniti i izvući podatke iz HTML dokumenta, morate stvoriti stablo dokumenata. Stablo dokumenta možete stvoriti od jednostavnog HTML označavanja pomoću uzorka koda u nastavku:

iz pyquery uvoza PyQuery kao pq
document = pq ("Pozdrav svijetu !!")
ispis (dokument)
ispis (vrsta (dokument))

Prva izjava uvozi klasu "PyQuery" iz modula "pyquery". Dalje se kreira nova instanca klase PyQuery. Nakon pokretanja gornjeg uzorka koda trebali biste dobiti sljedeći izlaz:

Pozdrav svijete !!

Primijetite drugi redak u izlazu. Ovdje “document”, koji je instanca klase “PyQuery”, ne vraća objekt tipa string. Možete brzo zatražiti sve metode dostupne za instancu „dokument“ dodavanjem sljedećeg dodatnog retka u gornji uzorak koda:

iz pyquery uvoza PyQuery kao pq
dokument = pq ("Pozdrav svijete !!")
ispis (pomoć (dokument))

Također možete pregledavati API za klasu PyQuery na mreži.

Da biste iz URL-a stvorili stablo dokumenata, upotrijebite sljedeći kod (zamijenite "url" vašom željenom adresom):

iz pyquery uvoza PyQuery kao pq
document = pq (url = 'https: // primjer.com ')
ispis (dokument)

Da biste stvorili stablo dokumenta iz lokalne HTML datoteke, upotrijebite donji kod (zamijenite vrijednost "filename" prema vašim potrebama):

iz pyquery uvoza PyQuery kao pq
dokument = pq (naziv datoteke = 'indeks.html ')
ispis (dokument)

Sad kad imate stablo dokumenata, možete ga početi raščlanjivati.

Manipuliranje stablom dokumenata

Možete izvući podatke i manipulirati stablima dokumenata pomoću različitih metoda. U nastavku su navedene neke od najčešćih metoda s uzorcima. Za sve korisne metode pogledajte ovdje dostupni API.

Možete koristiti metodu "text" da biste dobili tekstualni sadržaj elementa:

iz pyquery uvoza PyQuery kao pq
dokument = pq ("

Pozdrav svijete !!

")
p = dokument ('p')
ispis (str.tekst())

Možete odabrati određenu oznaku / element davanjem njegovog imena kao argumenta instanci "dokument". Nakon pokretanja gornjeg uzorka koda, trebali biste dobiti sljedeći izlaz:

Pozdrav svijete !!

Atribute oznake možete dobiti pomoću metode "attr". Da biste to učinili, odaberite oznaku koju želite raščlaniti ('p' u ovom slučaju) i navedite ime atributa kao argument (u ovom slučaju 'id') ili upotrijebite točkasta oznaka.

iz pyquery uvoza PyQuery kao pq
dokument = pq ("

Pozdrav svijete !!

")
p = dokument ('p')
ispis (dokument)
ispis (str.attr ("id"), str.attr.iskaznica)

Nakon pokretanja gornjeg uzorka koda, trebali biste dobiti sljedeći izlaz:

Pozdrav svijete !!

CSS-om možete manipulirati metodom "css". Za dodavanje CSS stilova

ili bilo koju drugu oznaku, možete koristiti sljedeći kôd:

iz pyquery uvoza PyQuery kao pq
dokument = pq ("

Pozdrav svijete !!

")
p = dokument ('p')
str.css ("boja": "crvena")
ispis (dokument)
ispis (str.attr ("stil"))

Zamijenite dio "" boja ":" crveni "" vlastitim prilagođenim stilovima. Nakon pokretanja gornjeg uzorka koda, trebali biste dobiti sljedeći izlaz i možete provjeriti je li CSS ispravno primijenjen:

Pozdrav svijete !!


boja: crvena

Ako imate unaprijed oblikovanu klasu, možete samo upotrijebiti metodu "addClass" za primjenu postojećih stilova.

iz pyquery uvoza PyQuery kao pq
dokument = pq ("

Pozdrav svijete !!

")
p = dokument ('p')
str.addClass ("moj stil")

Možete dodati i dodati svoje prilagođene oznake pomoću uzorka koda u nastavku:

iz pyquery uvoza PyQuery kao pq
dokument = pq ("

Pozdrav svijete !!

")
p = dokument ('p')
str.prepend ("

bok

")
str.dodati("

Zbogom

")
ispis (dokument)

Zamijenite argumente u metodi „dodavanje“ i „dodavanje“ vlastitim vrijednostima. Nakon pokretanja gornjeg uzorka koda, trebali biste dobiti sljedeći izlaz:

bok

Pozdrav svijete !!

Zbogom

Da biste uklonili sadržaj elementa, upotrijebite metodu "prazno".

iz pyquery uvoza PyQuery kao pq
dokument = pq ("

Pozdrav svijete !!

")
p = dokument ('p')
str.prazan()
ispis (dokument)

Nakon pokretanja gornjeg uzorka koda, trebali biste dobiti sljedeći izlaz:

Možete koristiti metodu "filtra" za odabir određenih elemenata kada postoji više oznaka iste vrste. Na primjer, kod u nastavku prikazuje "

”Oznaka koja ima“ id ”kao“ zdravo ”:

iz pyquery uvoza PyQuery kao pq
dokument = pq ("

zdravo

Svijet !!

")
p = dokument ('p')
ispis (str.filter ("# zdravo"))

Nakon pokretanja gornjeg uzorka koda, trebali biste dobiti sljedeći izlaz:

zdravo

Pomoću metode „pronađi“ možete pronaći više oznaka / elemenata odjednom:

iz pyquery uvoza PyQuery kao pq
dokument = pq ("

zdravo

Svijet !!

")
ispis (dokument.pronađi ('p'))

Navedite naziv oznake / elementa kao argument metode "pronađi". Nakon pokretanja gornjeg uzorka koda, trebali biste dobiti sljedeći izlaz:

zdravo

Svijet !!

Možete se prebacivati ​​između "xml" i "html" analizatora pomoću dodatnog argumenta "parser":

iz pyquery uvoza PyQuery kao pq
dokument = pq ("

zdravo

Svijet !!

", parser =" html ")
ispis (dokument)

Ako vam je potrebna dodatna pomoć s Pyqueryjem, pogledajte njegovu službenu dokumentaciju i primjere dostupne ovdje.

Zaključak

PyQuery omogućuje brzo raščlanjivanje html dokumenata pisanjem minimalnog koda, jer uključuje brojne pomoćne funkcije koje u potpunosti izostavljaju potrebu za pisanjem prilagođenog koda. Njegova "jQuery" poput sintakse i strukture također pomaže u odabiru elemenata i čvorova bez ulaska dublje u stablo dokumenata, posebno kada ima puno ugniježđenih oznaka.

Kako promijeniti lijevu i desnu tipku miša na računalu sa sustavom Windows 10
Sasvim je normalno da su svi uređaji računalnog miša ergonomski dizajnirani za dešnjake. Ali postoje dostupni uređaji za miš koji su posebno dizajnira...
Emulirajte klikove mišem lebdeći mišem bez klika u sustavu Windows 10
Korištenje miša ili tipkovnice u pogrešnom držanju pretjerane upotrebe može rezultirati mnogim zdravstvenim problemima, uključujući naprezanje, sindro...
Dodajte geste miša u sustav Windows 10 pomoću ovih besplatnih alata
Posljednjih godina računala i operativni sustavi uvelike su se razvili. Bilo je vrijeme kada su korisnici morali koristiti naredbe za navigaciju kroz ...