Python

Kako razčleniti in strgati HTML s pomočjo Pyqueryja

Kako razčleniti in strgati HTML s pomočjo Pyqueryja
»Pyquery« je neodvisni modul Python, ki vam omogoča razčlenjevanje in pridobivanje podatkov iz dokumentov »xml« in »html«. Navdihuje jo knjižnica jQuery JavaScript in ima skoraj enako sintakso, ki vam omogoča uporabo številnih pomožnih funkcij in stenografske kode za razčlenitev in upravljanje drevesa dokumentov. Ta članek bo zajemal preprost vodnik o Pyqueryju, ki vam bo pomagal začeti z modulom.

Namestitev Pyquery

Če želite namestiti Pyquery v Ubuntu, uporabite spodnji ukaz:

$ sudo apt namestite python3-pyquery

Najnovejšo različico Pyquery lahko namestite tudi iz upravitelja paketov "pip", tako da zaporedoma zaženete naslednja dva ukaza:

$ sudo apt namestite python3-pip
$ pip3 namesti pyquery

Če želite namestiti Pyquery v druge distribucije Linuxa, namestite »pip3« iz upravitelja paketov in zaženite drugi zgoraj omenjeni ukaz.

Ustvarjanje razstavljivega drevesa dokumentov

Preden lahko razčlenite in izvlečete podatke iz dokumenta HTML, morate ustvariti drevo dokumentov. Drevo dokumenta lahko ustvarite iz preprostega označevanja HTML s spodnjim vzorcem kode:

iz pyqueryja uvozi PyQuery kot pq
document = pq ("Pozdravljeni, svet !!")
natisni (dokument)
tisk (vrsta (dokument))

Prvi stavek uvozi razred "PyQuery" iz modula "pyquery". Nato se ustvari nov primerek razreda PyQuery. Po zagonu zgornjega vzorca kode bi morali dobiti naslednji izhod:

Pozdravljen, svet !!

Upoštevajte drugo vrstico v izhodu. Tu “document”, ki je primerek razreda “PyQuery”, ne vrne predmeta vrste niz. Vse metode, ki so na voljo za primerek dokumenta, lahko hitro poizvedete tako, da v zgornji vzorec kode dodate naslednjo dodatno vrstico:

iz pyqueryja uvozi PyQuery kot pq
dokument = pq ("Pozdravljen, svet !!")
tiskanje (pomoč (dokument))

Po spletu lahko brskate tudi po API-ju za razred PyQuery.

Če želite iz URL-ja ustvariti drevo dokumentov, namesto tega uporabite naslednjo kodo (»url« zamenjajte s svojim želenim naslovom):

iz pyqueryja uvozi PyQuery kot pq
document = pq (url = 'https: // primer.com ')
natisni (dokument)

Če želite ustvariti drevo dokumentov iz lokalne datoteke HTML, uporabite spodnjo kodo (vrednost »ime datoteke« nadomestite glede na vaše potrebe):

iz pyqueryja uvozi PyQuery kot pq
dokument = pq (ime datoteke = 'indeks.html ')
natisni (dokument)

Zdaj, ko imate drevo dokumentov, ga lahko začnete razčlenjevati.

Manipuliranje z drevesom dokumentov

Podatke lahko izvlečete in z različnimi metodami manipulirate z drevesi dokumentov. Spodaj so z vzorci naštete nekatere najpogostejše metode. Za vse uporabne metode glejte tukaj na voljo API.

Za pridobitev besedilne vsebine elementa lahko uporabite besedilno metodo:

iz pyqueryja uvozi PyQuery kot pq
dokument = pq ("

Pozdravljen, svet !!

")
p = dokument ('p')
tiskanje (str.besedilo ())

Določeno oznako / element lahko izberete tako, da njegovo ime navedete kot argument primerku »dokument«. Po zagonu zgornjega vzorca kode bi morali dobiti naslednji izhod:

Pozdravljen, svet !!

Atribute oznake lahko dobite z uporabo metode »attr«. Če želite to narediti, izberite oznako, ki jo želite razčleniti (v tem primeru 'p'), in navedite ime atributa kot argument (v tem primeru 'id') ali uporabite pikasti zapis.

iz pyqueryja uvozi PyQuery kot pq
dokument = pq ("

Pozdravljen, svet !!

")
p = dokument ('p')
natisni (dokument)
tiskanje (str.attr ("id"), str.attr.id)

Po zagonu zgornjega vzorca kode bi morali dobiti naslednji izhod:

Pozdravljen, svet !!

S CSS lahko manipulirate z uporabo metode "css". Če želite dodati sloge CSS

ali katero koli drugo oznako, lahko uporabite naslednjo kodo:

iz pyqueryja uvozi PyQuery kot pq
dokument = pq ("

Pozdravljen, svet !!

")
p = dokument ('p')
str.css ("color": "red")
natisni (dokument)
tiskanje (str.attr ("slog"))

Del "" color ":" red "" zamenjajte s svojimi slogi po meri. Po zagonu zgornjega vzorca kode dobite naslednji izhod in lahko preverite, ali je bil CSS pravilno uporabljen:

Pozdravljen, svet !!


barva: rdeča

Če imate vnaprej oblikovan razred, lahko za uporabo obstoječih slogov uporabite samo metodo »addClass«.

iz pyqueryja uvozi PyQuery kot pq
dokument = pq ("

Pozdravljen, svet !!

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

Svoje oznake po meri lahko dodate in dodate z uporabo spodnjega vzorčnega kode:

iz pyqueryja uvozi PyQuery kot pq
dokument = pq ("

Pozdravljen, svet !!

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

Živjo

")
str.dodaj ("

Adijo

")
natisni (dokument)

Argumente v metodi »pripravi« in »priloži« zamenjajte z lastnimi vrednostmi. Po zagonu zgornjega vzorca kode bi morali dobiti naslednji izhod:

Živjo

Pozdravljen, svet !!

Adijo

Če želite odstraniti vsebino elementa, uporabite metodo "prazno".

iz pyqueryja uvozi PyQuery kot pq
dokument = pq ("

Pozdravljen, svet !!

")
p = dokument ('p')
str.prazno()
natisni (dokument)

Po zagonu zgornjega vzorca kode bi morali dobiti naslednji izhod:

Z metodo »filter« lahko izberete določene elemente, če je več oznak iste vrste. Na primer, spodnja koda pokaže »

", Ki ima" id "kot" zdravo ":

iz pyqueryja uvozi PyQuery kot pq
dokument = pq ("

zdravo

Svet !!

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

Po zagonu zgornjega vzorca kode bi morali dobiti naslednji izhod:

zdravo

Z metodo »poišči« lahko najdete več oznak / elementov hkrati:

iz pyqueryja uvozi PyQuery kot pq
dokument = pq ("

zdravo

Svet !!

")
natisni (dokument.najdi ('p'))

Navedite ime oznake / elementa kot argument metode »find«. Po zagonu zgornjega vzorca kode bi morali dobiti naslednji izhod:

zdravo

Svet !!

Med razčlenjevalniki »xml« in »html« lahko preklapljate z dodatnim argumentom »razčlenjevalnik«:

iz pyqueryja uvozi PyQuery kot pq
dokument = pq ("

zdravo

Svet !!

", razčlenjevalnik =" html ")
natisni (dokument)

Če potrebujete dodatno pomoč pri Pyqueryju, glejte njegovo uradno dokumentacijo in primere, ki so na voljo tukaj.

Zaključek

PyQuery vam omogoča hitro razčlenitev html dokumentov s pisanjem minimalne kode, saj vključuje številne pomožne funkcije, ki popolnoma izpustijo potrebo po pisanju kode po meri. Njegova »jQuery«, kot sta sintaksa in struktura, prav tako pomaga pri izbiri elementov in vozlišč, ne da bi se poglobila v drevo dokumentov, zlasti kadar je veliko ugnezdenih oznak.

Kazalec skoči ali se naključno premika med tipkanjem v sistemu Windows 10
Če ugotovite, da kazalec miške med tipkanjem v prenosnem računalniku ali računalniku Windows samodejno, naključno preskakuje ali se premika sam, vam l...
Kako obrniti smer drsenja miške in sledilne ploščice v sistemu Windows 10
Miška in Sledilna ploščicaRačunalništvo ni samo enostavno, ampak bolj učinkovito in manj zamudno. Življenja brez teh naprav si ne moremo predstavljati...
Kako spremeniti miškin kazalec in velikost, barvo in shemo kazalca v sistemu Windows 10
Kazalec miške in kazalec v operacijskem sistemu Windows 10 sta zelo pomembna vidika operacijskega sistema. To lahko rečemo tudi za druge operacijske s...