Piton

Cum se analizează și se răzuiește HTML folosind Pyquery

Cum se analizează și se răzuiește HTML folosind Pyquery
„Pyquery” este un modul Python terț care vă permite să analizați și să extrageți date din documente „xml” și „html”. Este inspirat de biblioteca jQuery JavaScript și are o sintaxă aproape identică, permițându-vă să folosiți multe funcții de ajutor și cod de prescurtare pentru a analiza și manipula arborele documentului. Acest articol va acoperi un ghid simplu despre Pyquery care vă va ajuta să începeți cu modulul.

Instalare Pyquery

Pentru a instala Pyquery în Ubuntu, utilizați comanda specificată mai jos:

$ sudo apt instalează python3-pyquery

De asemenea, puteți instala cea mai recentă versiune de Pyquery din managerul de pachete „pip” executând următoarele două comenzi succesiv:

$ sudo apt instalează python3-pip
$ pip3 instala pyquery

Pentru a instala Pyquery în alte distribuții Linux, instalați „pip3” din managerul de pachete și rulați a doua comandă menționată mai sus.

Crearea unui arbore document parsabil

Înainte de a putea analiza și extrage date dintr-un document HTML, trebuie să creați un arbore pentru documente. Puteți crea un arbore de documente dintr-un markup HTML simplu folosind exemplul de cod de mai jos:

din pyquery importați PyQuery ca pq
document = pq ("Hello World !!")
print (document)
print (tip (document))

Prima declarație importă clasa „PyQuery” din modulul „pyquery”. Apoi, este creată o nouă instanță a clasei PyQuery. După ce rulați exemplul de cod de mai sus, ar trebui să obțineți următoarea ieșire:

Salut Lume !!

Observați a doua linie în ieșire. Aici „document”, care este o instanță a clasei „PyQuery”, nu returnează un obiect de tip șir. Puteți interoga rapid toate metodele disponibile pentru instanța „document” adăugând următoarea linie suplimentară la exemplul de cod de mai sus:

din pyquery importați PyQuery ca pq
document = pq ("Salut Lume !!")
print (ajutor (document))

De asemenea, puteți răsfoi API pentru clasa PyQuery online.

Pentru a crea arborele documentelor dintr-o adresă URL, utilizați în schimb următorul cod (înlocuiți „url” cu propria adresă dorită):

din pyquery importați PyQuery ca pq
document = pq (url = 'https: // exemplu.com ')
print (document)

Pentru a crea un fișier HTML local de copac document, utilizați codul de mai jos (înlocuiți valoarea „nume fișier” în funcție de nevoile dvs.):

din pyquery importați PyQuery ca pq
document = pq (filename = 'index.html ')
print (document)

Acum că aveți un arbore de documente, puteți începe să-l analizați.

Manipularea arborelui documentului

Puteți extrage date și manipula arbori de documente folosind o varietate de metode. Unele dintre cele mai comune metode sunt enumerate mai jos cu probe. Pentru toate metodele utilizabile, consultați API-ul disponibil aici.

Puteți utiliza metoda „text” pentru a obține conținutul text al unui element:

din pyquery importați PyQuery ca pq
document = pq ("

Salut Lume !!

")
p = document („p”)
tipărire (pag.text())

Puteți alege o anumită etichetă / element furnizând numele acestuia ca argument instanței „document”. După ce rulați exemplul de cod de mai sus, ar trebui să obțineți următoarea ieșire:

Salut Lume !!

Puteți obține atributele unei etichete utilizând metoda „attr”. Pentru aceasta, alegeți o etichetă pe care doriți să o analizați („p” în acest caz) și furnizați numele atributului ca argument („id” în acest caz) sau utilizați notația punct.

din pyquery importați PyQuery ca pq
document = pq ("

Salut Lume !!

")
p = document („p”)
print (document)
tipărire (pag.attr („id”), p.attr.id)

După ce rulați exemplul de cod de mai sus, ar trebui să obțineți următoarea ieșire:

Salut Lume !!

Puteți manipula CSS folosind metoda „css”. Pentru a adăuga stiluri CSS la

sau orice altă etichetă, puteți utiliza următorul cod:

din pyquery importați PyQuery ca pq
document = pq ("

Salut Lume !!

")
p = document („p”)
p.css ("color": "roșu")
print (document)
tipărire (pag.attr („stil”))

Înlocuiți partea „„ color ”:„ roșu ”” cu propriile stiluri personalizate. După ce rulați exemplul de cod de mai sus, ar trebui să obțineți următoarea ieșire și puteți verifica dacă CSS a fost aplicat corect:

Salut Lume !!


culoarea rosie

Dacă aveți o clasă pre-stilată, puteți folosi metoda „addClass” pentru a aplica stilurile existente.

din pyquery importați PyQuery ca pq
document = pq ("

Salut Lume !!

")
p = document („p”)
p.addClass („mystyle”)

Puteți adăuga și prepara propriul markup personalizat utilizând exemplul de cod de mai jos:

din pyquery importați PyQuery ca pq
document = pq ("

Salut Lume !!

")
p = document („p”)
p.prepend („

Salut

")
p.adăuga("

Pa

")
print (document)

Înlocuiți argumentele din metoda „prepend” și „append” cu propriile valori. După ce rulați exemplul de cod de mai sus, ar trebui să obțineți următoarea ieșire:

Salut

Salut Lume !!

Pa

Pentru a elimina conținutul unui element, utilizați metoda „goală”.

din pyquery importați PyQuery ca pq
document = pq ("

Salut Lume !!

")
p = document („p”)
p.gol()
print (document)

După ce rulați exemplul de cod de mai sus, ar trebui să obțineți următoarea ieșire:

Puteți utiliza metoda „filtrare” pentru a selecta anumite elemente atunci când există mai multe etichete de același tip. De exemplu, codul de mai jos preia un „

„Etichetă” având un „id” ca „salut”:

din pyquery importați PyQuery ca pq
document = pq ("

Buna ziua

Lume !!

")
p = document („p”)
tipărire (pag.filtru („# salut”))

După ce rulați exemplul de cod de mai sus, ar trebui să obțineți următoarea ieșire:

Buna ziua

Puteți găsi mai multe etichete / elemente simultan folosind metoda „găsi”:

din pyquery importați PyQuery ca pq
document = pq ("

Buna ziua

Lume !!

")
print (document.găsi („p”))

Furnizați numele etichetei / elementului ca argument pentru metoda „găsiți”. După ce rulați exemplul de cod de mai sus, ar trebui să obțineți următoarea ieșire:

Buna ziua

Lume !!

Puteți comuta între analizoarele „xml” și „html” folosind un argument suplimentar „parser”:

din pyquery importați PyQuery ca pq
document = pq ("

Buna ziua

Lume !!

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

Dacă aveți nevoie de ajutor suplimentar cu Pyquery, consultați documentația oficială și exemplele disponibile aici.

Concluzie

PyQuery vă permite să analizați rapid documentele html scriind cod minim, deoarece include numeroase funcții de asistență care omit complet necesitatea de a scrie cod personalizat. „JQuery”, cum ar fi sintaxa și structura, ajută, de asemenea, la selectarea elementelor și nodurilor fără a intra mai adânc în arborele documentului, mai ales atunci când există o mulțime de marcaje imbricate.

Cum să dezvolți un joc pe Linux
Acum un deceniu, nu mulți utilizatori de Linux ar fi prezis că sistemul lor de operare preferat va fi într-o zi o platformă populară de jocuri pentru ...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Cele mai bune jocuri de linie de comandă pentru Linux
Linia de comandă nu este doar cel mai mare aliat al tău când folosești Linux - poate fi și sursa de divertisment, deoarece poți să o folosești pentru ...