Piton

A HTML elemzése és lekaparása a Pyquery használatával

A HTML elemzése és lekaparása a Pyquery használatával
A „Pyquery” egy harmadik féltől származó Python modul, amely lehetővé teszi az adatok elemzését és kibontását „xml” és „html” dokumentumokból. A jQuery JavaScript könyvtár ihlette, és szinte azonos szintaxissal rendelkezik, lehetővé téve számos segítő funkció és gyorsírás kód használatát a dokumentumfa elemzéséhez és kezeléséhez. Ez a cikk a Pyquery egyszerű útmutatóját ismerteti, amely segít a modul használatának megkezdésében.

Pyquery telepítése

A Pyquery Ubuntu telepítéséhez használja az alább megadott parancsot:

$ sudo apt install python3-pyquery

A Pyquery legújabb verzióját a „pip” csomagkezelőből is telepítheti, ha egymás után futtatja a következő két parancsot:

$ sudo apt telepítse a python3-pip alkalmazást
$ pip3 install pyquery

A Pyquery más Linux disztribúciókba történő telepítéséhez telepítse a „pip3” -t a csomagkezelőből, és futtassa a fent említett második parancsot.

Parsolható dokumentumfa létrehozása

Mielőtt elemezhetne és kivonhatna adatokat egy HTML-dokumentumból, létre kell hoznia egy dokumentumfát. Létrehozhat egy dokumentumfát egy egyszerű HTML jelölésből az alábbi kódminta segítségével:

a pyquery importból PyQuery as pq
dokumentum = pq ("Hello Világ !!")
nyomtatás (dokumentum)
nyomtatás (típus (dokumentum))

Az első utasítás a „PyQuery” osztályt importálja a „pyquery” modulból. Ezután a PyQuery osztály új példánya jön létre. A fenti kódminta futtatása után a következő kimenetet kell kapnia:

Helló Világ !!

Figyelje meg a kimenet második sorát. Itt a „dokumentum”, amely a „PyQuery” osztály példánya, nem ad vissza karakterlánc típusú objektumot. Gyorsan lekérdezheti a „dokumentum” példányhoz rendelkezésre álló összes módszert, ha hozzáadja a következő extra sort a fenti kódmintához:

a pyquery importból PyQuery as pq
document = pq ("Helló Világ !!")
nyomtatás (súgó (dokumentum))

Online is böngészhet a PyQuery osztály API-jában.

Ha dokumentumfát szeretne létrehozni egy URL-ből, használja a következő kódot (cserélje le az „url” szót a saját kívánt címére):

a pyquery importból PyQuery as pq
document = pq (url = 'https: // példa.com ')
nyomtatás (dokumentum)

Helyi HTML-fájl formátumú dokumentumfa-űrlap létrehozásához használja az alábbi kódot (cserélje ki a „fájlnév” értékét az Ön igényeinek megfelelően):

a pyquery importból PyQuery as pq
dokumentum = pq (fájlnév = 'index.html ')
nyomtatás (dokumentum)

Most, hogy rendelkezik egy dokumentumfával, elkezdheti elemezni.

A dokumentumfa kezelése

Különböző módszerekkel nyerhet ki adatokat és kezelheti a dokumentumfákat. Az alábbiakban felsoroljuk a leggyakoribb módszereket mintákkal. Az összes használható módszerről lásd az itt elérhető API-t.

Használhatja a „text” módszert az elem szöveges tartalmának lekérdezéséhez:

a pyquery importból PyQuery as pq
document = pq ("

Helló Világ !!

")
p = dokumentum ('p')
nyomtatás (p.szöveg())

Kiválaszthat egy adott címkét / elemet úgy, hogy megadja a nevét argumentumként a „dokumentum” példánynak. A fenti kódminta futtatása után a következő kimenetet kell kapnia:

Helló Világ !!

A címke attribútumait az „attr” módszerrel szerezheti be. Ehhez válasszon ki egy elemezni kívánt címkét (ebben az esetben 'p'), és adja meg argumentumként az attribútum nevét (ebben az esetben 'id'), vagy használja a dot jelölést.

a pyquery importból PyQuery as pq
document = pq ("

Helló Világ !!

")
p = dokumentum ('p')
nyomtatás (dokumentum)
nyomtatás (p.attr ("id"), p.attr.id)

A fenti kódminta futtatása után a következő kimenetet kell kapnia:

Helló Világ !!

A CSS-t a „css” módszerrel manipulálhatja. CSS-stílusok hozzáadása ehhez

vagy bármely más címke, használhatja a következő kódot:

a pyquery importból PyQuery as pq
document = pq ("

Helló Világ !!

")
p = dokumentum ('p')
o.css ("color": "piros")
nyomtatás (dokumentum)
nyomtatás (p.attr ("stílus"))

Cserélje ki a „“ color ”:„ red ” részt saját egyéni stílusaival. A fenti kódminta futtatása után meg kell szereznie a következő kimenetet, és ellenőriznie kell, hogy a CSS-t helyesen alkalmazták-e:

Helló Világ !!


piros szín

Ha van egy előre kialakított osztálya, akkor egyszerűen csak használja az „addClass” metódust a meglévő stílusok alkalmazásához.

a pyquery importból PyQuery as pq
document = pq ("

Helló Világ !!

")
p = dokumentum ('p')
o.addClass ("mystyle")

Az alábbi kódminta segítségével hozzáfűzheti és előre megadhatja saját egyéni jelölését:

a pyquery importból PyQuery as pq
document = pq ("

Helló Világ !!

")
p = dokumentum ('p')
o.prepend ("

Szia

")
o.mellékel("

Viszlát

")
nyomtatás (dokumentum)

Cserélje le a „prepend” és a „append” metódus argumentumait saját értékeivel. A fenti kódminta futtatása után a következő kimenetet kell kapnia:

Szia

Helló Világ !!

Viszlát

Az elem tartalmának eltávolításához használja az „üres” módszert.

a pyquery importból PyQuery as pq
document = pq ("

Helló Világ !!

")
p = dokumentum ('p')
o.üres()
nyomtatás (dokumentum)

A fenti kódminta futtatása után a következő kimenetet kell kapnia:

A „szűrő” módszerrel kiválaszthat konkrét elemeket, ha több azonos típusú címke van. Például az alábbi kód felvesz egy

”Címke, amelynek“ id ”jelentése“ hello ”:

a pyquery importból PyQuery as pq
document = pq ("

Helló

Világ !!

")
p = dokumentum ('p')
nyomtatás (p.szűrő ("# hello"))

A fenti kódminta futtatása után a következő kimenetet kell kapnia:

Helló

A „find” módszerrel egyszerre több címkét / elemet is megtalálhat:

a pyquery importból PyQuery as pq
document = pq ("

Helló

Világ !!

")
nyomtatás (dokumentum.megtalálás ('p'))

Adja meg a címke / elem nevét argumentumként a „find” módszerhez. A fenti kódminta futtatása után a következő kimenetet kell kapnia:

Helló

Világ !!

Az „xml” és a „html” elemzők között egy másik „értelmező” argumentummal válthat:

a pyquery importból PyQuery as pq
document = pq ("

Helló

Világ !!

", parser =" html ")
nyomtatás (dokumentum)

Ha további segítségre van szüksége a Pyquery szolgáltatással kapcsolatban, olvassa el annak hivatalos dokumentációját és az itt elérhető példákat.

Következtetés

A PyQuery lehetővé teszi a HTML-dokumentumok gyors elemzését a minimális kód megírásával, mivel számos olyan segítőfunkciót tartalmaz, amelyek teljesen kihagyják az egyéni kód írásának szükségességét. A „jQuery” -hez hasonló szintaxisa és felépítése szintén segít kiválasztani az elemeket és a csomópontokat anélkül, hogy mélyebben belemenne a dokumentumfába, különösen, ha sok a beágyazott jelölés.

Az 5 legjobb játékrögzítő kártya
Mindannyian láttuk és szerettük a YouTube-on a streaming játékokat. A PewDiePie, a Jakesepticye és a Markiplier csak néhány a legnépszerűbb játékosok ...
Hogyan lehet játékot fejleszteni Linuxon
Egy évtizeddel ezelőtt nem sok Linux-felhasználó jósolta, hogy kedvenc operációs rendszerük egy napon a videojátékok népszerű játékplatformja lesz. El...
Kereskedelmi játékmotorok nyílt forráskódú portjai
Ingyenes, nyílt forráskódú és platformokon átívelő játékmotorok szabadidős programjai felhasználhatók a régi, valamint a meglehetősen friss játékcímek...