Python

HTML-i sõelumine ja kraapimine Pyquery abil

HTML-i sõelumine ja kraapimine Pyquery abil
„Pyquery” on kolmanda osapoole Pythoni moodul, mis võimaldab teil sõeluda ja ekstraktida andmeid „xml” ja „html” dokumentidest. See on inspireeritud jQuery JavaScripti teegist ja sellel on peaaegu identne süntaks, mis võimaldab teil dokumendipuu sõelumiseks ja manipuleerimiseks kasutada paljusid abifunktsioone ja lühikoodi. See artikkel hõlmab lihtsat juhist Pyquery kohta, mis aitab teil mooduliga alustada.

Pühitsemise installimine

Pyquery installimiseks Ubuntu kasutage allpool täpsustatud käsku:

$ sudo apt installib python3-pyquery

Pyquery uusima versiooni saate installida ka paketi „pip” haldurist, käivitades kaks järgmist käsku järjest:

$ sudo apt installib python3-pip
$ pip3 installige pyquery

Pyquery installimiseks teistesse Linuxi distributsioonidesse installige paketihaldurist “pip3” ja käivitage teine ​​ülalnimetatud käsk.

Parsitava dokumendipuu loomine

Enne HTML-dokumendis andmete sõelumist ja väljavõtmist peate looma dokumendipuu. Dokumendipuu saate luua lihtsast HTML-märgistusest, kasutades allolevat koodinäidet:

pyquery'st impordi PyQuery kui pq
document = pq ("Tere maailm !!")
print (dokument)
print (tüüp (dokument))

Esimene lause impordib „PyQuery” klassi moodulist „pyquery”. Järgmisena luuakse PyQuery klassi uus eksemplar. Pärast ülaltoodud koodiproovi käivitamist peaksite saama järgmise väljundi:

Tere, Maailm !!

Pange tähele väljundi teist rida. Siin ei tagasta “dokument”, mis on klassi “PyQuery” eksemplar, stringitüüpi objekti. Kõigi meetodite jaoks, mis on dokumendi eksemplari jaoks saadaval, saate kiiresti päringu teha, lisades ülaltoodud koodinäidisele järgmise lisarea:

pyquery'st impordi PyQuery kui pq
document = pq ("Tere, Maailm !!")
print (abi (dokument))

Samuti saate veebis sirvida PyQuery klassi API-d.

URL-ist dokumendipuu loomiseks kasutage selle asemel järgmist koodi (asendage URL oma soovitud aadressiga):

pyquery'st impordi PyQuery kui pq
document = pq (url = 'https: // näide.com ')
print (dokument)

Dokumendipuu vormis kohaliku HTML-faili loomiseks kasutage allolevat koodi (asendage failinime väärtus vastavalt teie vajadustele):

pyquery'st impordi PyQuery kui pq
dokument = pq (failinimi = 'register.HTML ')
print (dokument)

Nüüd, kui teil on dokumendipuu, saate seda hakata analüüsima.

Dokumendipuu manipuleerimine

Erinevate meetodite abil saate andmeid eraldada ja dokumendipuudega manipuleerida. Mõned kõige levinumad meetodid on loetletud allpool koos näidistega. Kõigi kasutatavate meetodite kohta vaadake siin saada olevat API-d.

Elemendi teksti sisu saamiseks võite kasutada meetodit "tekst":

pyquery'st impordi PyQuery kui pq
document = pq ("

Tere, Maailm !!

")
p = dokument ('p')
print (lk.tekst ())

Konkreetse sildi / elemendi saate valida, sisestades selle dokumendi eksemplari argumendina selle nime. Pärast ülaltoodud koodinäidise käivitamist peaksite saama järgmise väljundi:

Tere, Maailm !!

Sildi atribuudid saate meetodi "attr" abil. Selleks valige silt, mida soovite sõeluda (sel juhul 'p') ja sisestage argumendina atribuudi nimi (sel juhul 'id') või kasutage punktimärgistust.

pyquery'st impordi PyQuery kui pq
document = pq ("

Tere, Maailm !!

")
p = dokument ('p')
print (dokument)
print (lk.attr ("id"), lk.attr.id)

Pärast ülaltoodud koodinäidise käivitamist peaksite saama järgmise väljundi:

Tere, Maailm !!

CSS-iga saate manipuleerida, kasutades meetodit “css”. CSS-i stiilide lisamiseks

või mõnda muud silti, võite kasutada järgmist koodi:

pyquery'st impordi PyQuery kui pq
document = pq ("

Tere, Maailm !!

")
p = dokument ('p')
lk.css ("color": "punane")
print (dokument)
print (lk.attr ("stiil"))

Asendage osa „“ color ”:„ red ” omaenda kohandatud stiilidega. Pärast ülaltoodud koodinäidise käivitamist peaksite saama järgmise väljundi ja saate kontrollida, kas CSS on õigesti rakendatud:

Tere, Maailm !!


värv: punane

Kui teil on eelnevalt kujundatud klass, saate olemasolevate stiilide rakendamiseks kasutada lihtsalt meetodit “addClass”.

pyquery'st impordi PyQuery kui pq
document = pq ("

Tere, Maailm !!

")
p = dokument ('p')
lk.addClass ("mõistulaad")

Allpool oleva koodinäidise abil saate oma kohandatud märgistuse lisada ja lisada:

pyquery'st impordi PyQuery kui pq
document = pq ("

Tere, Maailm !!

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

Tere

")
lk.lisa ("

Nägemist

")
print (dokument)

Asendage meetodites „prepend” ja „addend” olevad argumendid omaenda väärtustega. Pärast ülaltoodud koodinäidise käivitamist peaksite saama järgmise väljundi:

Tere

Tere, Maailm !!

Nägemist

Elemendi sisu eemaldamiseks kasutage meetodit „tühi“.

pyquery'st impordi PyQuery kui pq
document = pq ("

Tere, Maailm !!

")
p = dokument ('p')
lk.tühi()
print (dokument)

Pärast ülaltoodud koodinäidise käivitamist peaksite saama järgmise väljundi:

Konkreetsete elementide valimiseks võite kasutada meetodit „filter”, kui sama tüüpi silte on mitu. Näiteks võtab allolev kood üles

Silt, mille „id” on „tere”:

pyquery'st impordi PyQuery kui pq
document = pq ("

Tere

Maailm !!

")
p = dokument ('p')
print (lk.filter ("# tere"))

Pärast ülaltoodud koodinäidise käivitamist peaksite saama järgmise väljundi:

Tere

Leidmismeetodi abil leiate korraga mitu silti / elementi:

pyquery'st impordi PyQuery kui pq
document = pq ("

Tere

Maailm !!

")
print (dokument.leid ('p'))

Sisestage metoodika „find” argumendina sildi / elemendi nimi. Pärast ülaltoodud koodinäidise käivitamist peaksite saama järgmise väljundi:

Tere

Maailm !!

Parserite „xml” ja „html” vahel saate vahetada, kasutades täiendavat argumenti “parser”:

pyquery'st impordi PyQuery kui pq
document = pq ("

Tere

Maailm !!

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

Kui vajate Pyqueryga seoses täiendavat abi, vaadake selle ametlikku dokumentatsiooni ja näiteid, mis on siin saadaval.

Järeldus

PyQuery võimaldab teil HTML-dokumente kiiresti sõeluda, kirjutades minimaalse koodi, kuna see sisaldab arvukalt abifunktsioone, mis jätavad täielikult ära vajaduse kohandatud koodi kirjutada. Selle jQuery-laadne süntaks ja struktuur aitavad ka elemente ja sõlme valida ilma dokumendipuusse süvenemata, eriti kui on palju pesastatud märgistusi.

How to Change Mouse and Touchpad Settings Using Xinput in Linux
Most Linux distributions ship with “libinput” library by default to handle input events on a system. It can process input events on both Wayland and X...
X-Mouse Button Control abil saate hiire nupud erinevates tarkvarades erinevalt ümber teha
Võib-olla vajate tööriista, mis võiks muuta teie hiire juhtimissüsteemi iga kasutatava rakendusega. Sel juhul võite proovida rakendust nimega X hiiren...
Microsoft Sculpt Touch juhtmeta hiirte ülevaade
Lugesin hiljuti Microsoft Sculpt Touch juhtmevaba hiir ja otsustas selle osta. Pärast mõnda aega kasutamist otsustasin jagada sellega oma kogemusi. Se...