Python

Parsēt un nokasīt HTML, izmantojot Pyquery

Parsēt un nokasīt HTML, izmantojot Pyquery
“Pyquery” ir trešās puses Python modulis, kas ļauj parsēt un iegūt datus no “xml” un “html” dokumentiem. Tas ir iedvesmots no jQuery JavaScript bibliotēkas, un tajā ir gandrīz identiska sintakse, kas ļauj izmantot daudzas palīga funkcijas un stenogrāfijas kodu, lai parsētu un manipulētu ar dokumenta koku. Šajā rakstā būs ietverts vienkāršs ceļvedis par Pyquery, kas palīdzēs jums sākt darbu ar moduli.

Pikeru uzstādīšana

Lai instalētu Pyquery Ubuntu, izmantojiet tālāk norādīto komandu:

$ sudo apt instalējiet python3-pyquery

Varat arī instalēt jaunāko Pyquery versiju no “pip” pakotņu pārvaldnieka, pēc kārtas izpildot šādas divas komandas:

$ sudo apt instalējiet python3-pip
$ pip3 instalēt pikēriju

Lai instalētu Pyquery citos Linux izplatījumos, no pakotņu pārvaldnieka instalējiet “pip3” un palaidiet otro iepriekš minēto komandu.

Parsējama dokumenta koka izveidošana

Pirms varat parsēt un iegūt datus no HTML dokumenta, jums jāizveido dokumentu koks. Izmantojot vienkāršu HTML marķējumu, varat izveidot dokumenta koku, izmantojot tālāk redzamo kodu paraugu:

no pikēriju importa PyQuery kā pq
document = pq ("Sveika pasaule !!")
izdrukāt (dokumentu)
drukāt (tips (dokuments))

Pirmais paziņojums importē “PyQuery” klasi no “pyquery” moduļa. Pēc tam tiek izveidots jauns PyQuery klases gadījums. Pēc iepriekš minētā koda parauga palaišanas jums jāiegūst šāda izeja:

Sveika pasaule !!

Ievērojiet izejas otro rindu. Šeit “dokuments”, kas ir klases “PyQuery” gadījums, neatgriež virknes tipa objektu. Jūs varat ātri vaicāt par visām metodēm, kas pieejamas “dokumenta” gadījumam, pievienojot šādu papildu rindiņu iepriekš norādītajam koda paraugam:

no pikēriju importa PyQuery kā pq
document = pq ("Sveika pasaule !!")
izdrukāt (palīdzība (dokuments))

Varat arī tiešsaistē pārlūkot API PyQuery klasei.

Lai izveidotu dokumenta koku no URL, tā vietā izmantojiet šo kodu (aizstājiet “url” ar savu vēlamo adresi):

no pikēriju importa PyQuery kā pq
document = pq (url = 'https: // piemērs.com ')
izdrukāt (dokumentu)

Lai izveidotu dokumenta koka veidlapas vietējo HTML failu, izmantojiet zemāk redzamo kodu (aizstājiet “faila nosaukums” vērtību atbilstoši savām vajadzībām):

no pikēriju importa PyQuery kā pq
dokuments = pq (faila nosaukums = 'indekss.html ')
izdrukāt (dokumentu)

Tagad, kad jums ir dokumentu koks, varat sākt to analizēt.

Manipulēšana ar dokumentu koku

Izmantojot dažādas metodes, varat iegūt datus un manipulēt ar dokumentu kokiem. Dažas no visbiežāk izmantotajām metodēm ir uzskaitītas zemāk ar paraugiem. Par visām izmantojamām metodēm skatiet šeit pieejamo API.

Lai iegūtu elementa teksta saturu, varat izmantot metodi “text”:

no pikēriju importa PyQuery kā pq
document = pq ("

Sveika pasaule !!

")
p = dokuments ('p')
drukāt (lpp.teksts ()

Jūs varat izvēlēties konkrētu tagu / elementu, norādot tā nosaukumu kā argumentu instancei “document”. Pēc iepriekš minētā koda parauga palaišanas jums vajadzētu iegūt šādu izvadi:

Sveika pasaule !!

Taga atribūtus varat iegūt, izmantojot metodi “attr”. Lai to izdarītu, izvēlieties tagu, kuru vēlaties parsēt (šajā gadījumā “p”) un norādiet atribūta nosaukumu kā argumentu (šajā gadījumā “id”) vai izmantojiet punktu apzīmējumu.

no pikēriju importa PyQuery kā pq
document = pq ("

Sveika pasaule !!

")
p = dokuments ('p')
izdrukāt (dokumentu)
drukāt (lpp.attr ("id"), lpp.piesaistīt.id)

Pēc iepriekš minētā koda parauga palaišanas jums vajadzētu iegūt šādu izvadi:

Sveika pasaule !!

Jūs varat manipulēt ar CSS, izmantojot “css” metodi. Lai pievienotu CSS stilus vietnei

vai jebkuru citu tagu, varat izmantot šādu kodu:

no pikēriju importa PyQuery kā pq
document = pq ("

Sveika pasaule !!

")
p = dokuments ('p')
lpp.css ("color": "sarkans")
izdrukāt (dokumentu)
drukāt (lpp.attr ("stils"))

Aizstājiet daļu ““ color ”:“ red ” ar saviem pielāgotajiem stiliem. Pēc iepriekš minētā koda parauga palaišanas jums vajadzētu iegūt šādu izvadi un pārbaudīt, vai CSS ir pareizi lietots:

Sveika pasaule !!


krāsa: sarkana

Ja jums ir iepriekš izveidota klase, esošo stilu lietošanai varat vienkārši izmantot metodi “addClass”.

no pikēriju importa PyQuery kā pq
document = pq ("

Sveika pasaule !!

")
p = dokuments ('p')
lpp.addClass ("mystyle")

Izmantojot pievienoto koda paraugu, varat pievienot un pievienot savu pielāgoto marķējumu:

no pikēriju importa PyQuery kā pq
document = pq ("

Sveika pasaule !!

")
p = dokuments ('p')
lpp.prepend ("

Sveiki

")
lpp.pievienot ("

Uz redzēšanos

")
izdrukāt (dokumentu)

Metodes “prepend” un “append” argumentus aizstājiet ar savām vērtībām. Pēc iepriekš minētā koda parauga palaišanas jums vajadzētu iegūt šādu izvadi:

Sveiki

Sveika pasaule !!

Uz redzēšanos

Lai noņemtu elementa saturu, izmantojiet metodi “tukša”.

no pikēriju importa PyQuery kā pq
document = pq ("

Sveika pasaule !!

")
p = dokuments ('p')
lpp.tukšs ()
izdrukāt (dokumentu)

Pēc iepriekš minētā koda parauga palaišanas jums vajadzētu iegūt šādu izvadi:

Varat izmantot metodi “filtrs”, lai atlasītu konkrētus elementus, ja ir vairāki viena veida tagi. Piemēram, zemāk redzamais kods iegūst “

”Tagu ar“ id ”kā“ sveiki ”:

no pikēriju importa PyQuery kā pq
document = pq ("

Sveiki

Pasaule !!

")
p = dokuments ('p')
drukāt (lpp.filtrs ("# sveiki"))

Pēc iepriekš minētā koda parauga palaišanas jums jāiegūst šāda izeja:

Sveiki

Izmantojot metodi “atrast”, vienlaikus varat atrast vairākus tagus / elementus:

no pikēriju importa PyQuery kā pq
document = pq ("

Sveiki

Pasaule !!

")
izdrukāt (dokuments.atrast ('p'))

Norādiet taga / elementa nosaukumu kā argumentu “atrast” metodei. Pēc iepriekš minētā koda parauga palaišanas jums jāiegūst šāda izeja:

Sveiki

Pasaule !!

Varat pārslēgties starp “xml” un “html” parsētājiem, izmantojot papildu argumentu “parser”:

no pikēriju importa PyQuery kā pq
document = pq ("

Sveiki

Pasaule !!

", parser =" html ")
izdrukāt (dokumentu)

Ja jums nepieciešama papildu palīdzība saistībā ar Pyquery, skatiet tās oficiālo dokumentāciju un šeit pieejamos piemērus.

Secinājums

PyQuery ļauj ātri parsēt html dokumentus, uzrakstot minimālo kodu, jo tas ietver daudzas palīga funkcijas, kas pilnībā izlaiž nepieciešamību rakstīt pielāgotu kodu. Tās “jQuery”, piemēram, sintakse un struktūra, palīdz atlasīt elementus un mezglus, neiedziļinoties dokumentu kokā, it īpaši, ja ir daudz ligzdotu iezīmējumu.

Top 5 spēļu tveršanas kartes
Mēs visi esam redzējuši un mīlējuši straumēšanas spēles pakalpojumā YouTube. PewDiePie, Jakesepticye un Markiplier ir tikai daži no labākajiem spēlētā...
Kā izstrādāt spēli Linux
Pirms desmit gadiem maz Linux lietotāju varētu paredzēt, ka viņu iecienītā operētājsistēma kādu dienu būs populāra spēļu platforma komerciālām videosp...
Komerciālo spēļu dzinēju atvērtā koda porti
Bezmaksas, atvērtā koda un starpplatformu spēļu dzinēju atpūtu var izmantot, lai spēlētu vecos, kā arī dažus no diezgan nesenajiem spēļu nosaukumiem. ...