„Python“

Kaip analizuoti ir nukopijuoti HTML naudojant „Pyquery“

Kaip analizuoti ir nukopijuoti HTML naudojant „Pyquery“
„Pyquery“ yra trečiosios šalies „Python“ modulis, leidžiantis analizuoti ir išgauti duomenis iš „xml“ ir „html“ dokumentų. Tai įkvėpta „jQuery“ „JavaScript“ bibliotekos ir turi beveik identišką sintaksę, leidžiančią naudoti daugybę pagalbininkų funkcijų ir stenografijos kodą, norint išanalizuoti ir manipuliuoti dokumentų medžiu. Šis straipsnis apims paprastą „Pyquery“ vadovą, kuris padės jums pradėti naudotis moduliu.

„Pyquery“ diegimas

Norėdami įdiegti „Pyquery“ į „Ubuntu“, naudokite toliau nurodytą komandą:

$ sudo apt įdiekite python3-pyquery

Taip pat galite įdiegti naujausią „Pyquery“ versiją iš „pip“ paketų tvarkyklės vykdydami šias dvi komandas iš eilės:

$ sudo apt įdiekite python3-pip
$ pip3 įdiekite pyquery

Norėdami įdiegti „Pyquery“ kituose „Linux“ paskirstymuose, iš paketų tvarkyklės įdiekite „pip3“ ir vykdykite antrąją aukščiau paminėtą komandą.

Parsableable Document Tree kūrimas

Kad galėtumėte analizuoti ir išgauti duomenis iš HTML dokumento, turite sukurti dokumentų medį. Naudodami toliau pateiktą kodo pavyzdį, galite sukurti dokumento medį iš paprasto HTML žymėjimo:

iš „Pyquery“ importuokite „PyQuery“ kaip paketą
document = pq ("Sveikas pasauli !!")
spausdinti (dokumentas)
spausdinti (tipas (dokumentas))

Pirmasis teiginys importuoja „PyQuery“ klasę iš „pyquery“ modulio. Tada sukuriamas naujas „PyQuery“ klasės egzempliorius. Paleidus aukščiau pateiktą kodo pavyzdį, turėtumėte gauti šį išvestį:

Labas pasauli !!

Atkreipkite dėmesį į antrą išvesties eilutę. Čia „dokumentas“, kuris yra „PyQuery“ klasės egzempliorius, negrąžina eilutės tipo objekto. Galite greitai pateikti užklausą apie visus „dokumento“ egzemplioriaus metodus, pridėdami šią papildomą eilutę prie anksčiau nurodyto kodo pavyzdžio:

iš pyquery importuoti PyQuery kaip paketą
dokumentas = pq ("Labas pasauli !!")
spausdinti (žinynas (dokumentas))

Taip pat internete galite naršyti „PyQuery“ klasės API.

Norėdami sukurti dokumentų medį iš URL, naudokite šį kodą (pakeiskite „url“ savo norimu adresu):

iš pyquery importuoti PyQuery kaip paketą
document = pq (url = 'https: // pavyzdys.com ')
spausdinti (dokumentas)

Norėdami sukurti dokumento medžio formos vietinį HTML failą, naudokite žemiau pateiktą kodą (pakeiskite „failo pavadinimo“ vertę pagal savo poreikius):

iš „Pyquery“ importuokite „PyQuery“ kaip paketą
dokumentas = pq (failo pavadinimas = 'rodyklė.html ')
spausdinti (dokumentas)

Dabar, kai turite dokumentų medį, galite pradėti juos analizuoti.

Manipuliavimas dokumentų medžiu

Galite išskleisti duomenis ir tvarkyti dokumentų medžius naudodami įvairius metodus. Kai kurie iš labiausiai paplitusių metodų yra išvardyti toliau su pavyzdžiais. Dėl visų tinkamų naudoti metodų ieškokite čia esančioje API.

Norėdami gauti elemento teksto turinį, galite naudoti „text“ metodą:

iš „Pyquery“ importuokite „PyQuery“ kaip paketą
dokumentas = pq ("

Labas pasauli !!

")
p = dokumentas („p“)
spausdinti (p.tekstas ()

Galite pasirinkti konkrečią žymą / elementą, pateikdami jo pavadinimą kaip argumentą „dokumento“ egzemplioriui. Paleidus pirmiau pateiktą kodo pavyzdį, turėtumėte gauti šį išvestį:

Labas pasauli !!

Žymos atributus galite gauti naudodami metodą „attr“. Norėdami tai padaryti, pasirinkite žymą, kurią norite išanalizuoti (šiuo atveju „p“) ir pateikite atributo pavadinimą kaip argumentą (šiuo atveju „id“) arba naudokite taškų žymėjimą.

iš pyquery importuoti PyQuery kaip paketą
dokumentas = pq ("

Labas pasauli !!

")
p = dokumentas („p“)
spausdinti (dokumentas)
spausdinti (p.attr („id“), p.pritraukti.id)

Paleidus pirmiau pateiktą kodo pavyzdį, turėtumėte gauti šį išvestį:

Labas pasauli !!

Galite manipuliuoti CSS naudodami „css“ metodą. Norėdami pridėti CSS stilių prie

ar bet kurią kitą žymą, galite naudoti šį kodą:

iš „Pyquery“ importuokite „PyQuery“ kaip paketą
dokumentas = pq ("

Labas pasauli !!

")
p = dokumentas („p“)
p.css ("spalva": "raudona")
spausdinti (dokumentas)
spausdinti (p.attr ("stilius"))

Pakeiskite „“ spalva “:„ raudona “ dalį savo pasirinktais stiliais. Paleidus pirmiau pateiktą kodo pavyzdį, turėtumėte gauti šį išvestį ir patikrinti, ar CSS tinkamai pritaikytas:

Labas pasauli !!


spalva: raudona

Jei turite iš anksto suplanuotą klasę, galite tiesiog naudoti „addClass“ metodą, kad pritaikytumėte esamus stilius.

iš „Pyquery“ importuokite „PyQuery“ kaip paketą
dokumentas = pq ("

Labas pasauli !!

")
p = dokumentas („p“)
p.addClass („mystyle“)

Naudodami toliau pateiktą kodo pavyzdį, galite pridėti ir pridėti savo pasirinktinį žymėjimą:

iš pyquery importuoti PyQuery kaip paketą
dokumentas = pq ("

Labas pasauli !!

")
p = dokumentas („p“)
p.priklausyti ("

Sveiki

")
p.pridėti ("

Ate

")
spausdinti (dokumentas)

Metodų „prepend“ ir „append“ argumentus pakeiskite savo vertėmis. Paleidus pirmiau pateiktą kodo pavyzdį, turėtumėte gauti šį išvestį:

Sveiki

Labas pasauli !!

Ate

Norėdami pašalinti elemento turinį, naudokite metodą „tuščias“.

iš „Pyquery“ importuokite „PyQuery“ kaip paketą
dokumentas = pq ("

Labas pasauli !!

")
p = dokumentas („p“)
p.tuščia()
spausdinti (dokumentas)

Paleidus pirmiau pateiktą kodo pavyzdį, turėtumėte gauti šį išvestį:

Norėdami pasirinkti konkrečius elementus, kai yra kelios to paties tipo žymos, galite naudoti „filtro“ metodą. Pvz., Žemiau pateiktas kodas pasirenka „

“Žyma, kurios„ id “yra„ labas “:

iš pyquery importuoti PyQuery kaip paketą
dokumentas = pq ("

Sveiki

Pasaulis !!

")
p = dokumentas („p“)
spausdinti (p.filtras ("# labas"))

Paleidus pirmiau pateiktą kodo pavyzdį, turėtumėte gauti šį išvestį:

Sveiki

Vienu metu galite rasti kelias žymas / elementus naudodami „paieškos“ metodą:

iš „Pyquery“ importuokite „PyQuery“ kaip paketą
dokumentas = pq ("

Sveiki

Pasaulis !!

")
spausdinti (dokumentas.rasti („p“))

Pateikite žymos / elemento pavadinimą kaip argumentą „rasti“ metodui. Paleidus pirmiau pateiktą kodo pavyzdį, turėtumėte gauti šį išvestį:

Sveiki

Pasaulis !!

Galite perjungti „xml“ ir „html“ analizatorių naudodami papildomą argumentą „parser“:

iš „Pyquery“ importuokite „PyQuery“ kaip paketą
dokumentas = pq ("

Sveiki

Pasaulis !!

", parser =" html ")
spausdinti (dokumentas)

Jei jums reikia daugiau pagalbos dėl „Pyquery“, žiūrėkite oficialius jos dokumentus ir pavyzdžius, kuriuos galite rasti čia.

Išvada

„PyQuery“ leidžia greitai išanalizuoti HTML dokumentus, parašant minimalų kodą, nes jame yra daugybė pagalbininkų funkcijų, kurios visiškai nereikalauja rašyti tinkinto kodo. „JQuery“, kaip sintaksė ir struktūra, taip pat padeda pasirinkti elementus ir mazgus, nesigilinant į dokumentų medį, ypač kai yra daug įdėtų žymių.

Pridėkite pelės gestus prie „Windows 10“ naudodami šiuos nemokamus įrankius
Pastaraisiais metais kompiuteriai ir operacinės sistemos labai išsivystė. Buvo laikas, kai vartotojai turėjo naudoti komandas naršydami per failų tvar...
Valdykite ir valdykite pelės judėjimą tarp kelių „Windows 10“ monitorių
„Dual Display Mouse Manager“ leidžia jums valdyti ir konfigūruoti pelės judėjimą tarp kelių monitorių, sulėtinant jo judėjimą šalia sienos. „Windows 1...
„WinMouse“ leidžia tinkinti ir pagerinti pelės žymeklio judėjimą „Windows“ kompiuteryje
Jei norite pagerinti numatytąsias pelės žymiklio funkcijas, naudokite nemokamą programinę įrangą „WinMouse“. Tai prideda daugiau funkcijų, kurios padė...