Python

Ako analyzovať a škrabať HTML pomocou Pyquery

Ako analyzovať a škrabať HTML pomocou Pyquery
„Pyquery“ je modul Python tretej strany, ktorý umožňuje analyzovať a extrahovať údaje z dokumentov „xml“ a „html“. Je inšpirovaný knižnicou jQuery JavaScript a má takmer identickú syntax, ktorá vám umožňuje analyzovať a manipulovať so stromom dokumentov pomocou mnohých pomocných funkcií a stenografického kódu. Tento článok sa bude týkať jednoduchého sprievodcu programom Pyquery, ktorý vám pomôže začať s modulom.

Inštalácia pyquery

Ak chcete nainštalovať Pyquery v Ubuntu, použite nasledujúci príkaz:

$ sudo apt nainštalovať python3-pyquery

Môžete tiež nainštalovať najnovšiu verziu programu Pyquery zo správcu balíkov „pip“ spustením nasledujúcich dvoch príkazov za sebou:

$ sudo apt nainštalovať python3-pip
$ pip3 nainštalovať pyquery

Ak chcete nainštalovať Pyquery v iných distribúciách Linuxu, nainštalujte „pip3“ zo správcu balíkov a spustite druhý vyššie uvedený príkaz.

Vytvorenie stromu porovnateľných dokumentov

Predtým, ako budete môcť analyzovať a extrahovať údaje z dokumentu HTML, musíte vytvoriť strom dokumentov. Strom dokumentov môžete vytvoriť z jednoduchého označenia HTML pomocou nižšie uvedenej ukážky kódu:

z pyquery importovať PyQuery ako pq
document = pq ("Hello World !!„)
tlač (dokument)
tlač (typ (dokument))

Prvý príkaz importuje triedu „PyQuery“ z modulu „pyquery“. Ďalej sa vytvorí nová inštancia triedy PyQuery. Po spustení vyššie uvedenej ukážky kódu by ste mali získať nasledujúci výstup:

Ahoj svet !!

Všimnite si druhý riadok na výstupe. Tu „document“, ktorý je inštanciou triedy „PyQuery“, nevracia objekt typu reťazec. Môžete rýchlo vyhľadať všetky dostupné metódy pre inštanciu „dokumentu“ pridaním nasledujúceho riadku do vzorky kódu vyššie:

z pyquery importovať PyQuery ako pq
document = pq ("Ahoj svet !!„)
tlač (pomoc (dokument))

Môžete tiež prechádzať API pre triedu PyQuery online.

Ak chcete vytvoriť strom dokumentov z adresy URL, použite namiesto toho nasledujúci kód (nahraďte „url“ vašou požadovanou adresou):

z pyquery importovať PyQuery ako pq
document = pq (url = 'https: // príklad.com ')
tlač (dokument)

Ak chcete vytvoriť strom dokumentov z lokálneho súboru HTML, použite nasledujúci kód (podľa potreby nahraďte hodnotu „názvu súboru“):

z pyquery importovať PyQuery ako pq
document = pq (nazov souboru = 'index.html ')
tlač (dokument)

Teraz, keď máte strom dokumentov, môžete ho začať analyzovať.

Manipulácia so stromom dokumentov

Môžete extrahovať údaje a manipulovať so stromami dokumentov pomocou rôznych metód. Niektoré z najbežnejších metód sú uvedené nižšie so vzorkami. Všetky použiteľné metódy nájdete v API, ktoré je k dispozícii tu.

Na získanie textového obsahu prvku môžete použiť metódu „text“:

z pyquery importovať PyQuery ako pq
document = pq ("

Ahoj svet !!

„)
p = dokument ('p')
tlač (str.text ())

Konkrétnu značku / prvok môžete zvoliť zadaním jeho názvu ako argumentu pre inštanciu „dokumentu“. Po spustení vyššie uvedenej ukážky kódu by ste mali získať nasledujúci výstup:

Ahoj svet !!

Atribúty značky môžete získať pomocou metódy „attr“. Ak to chcete urobiť, vyberte značku, ktorú chcete analyzovať (v tomto prípade „p“), a zadajte názov atribútu ako argument (v tomto prípade „id“) alebo použite bodkovú notáciu.

z pyquery importovať PyQuery ako pq
document = pq ("

Ahoj svet !!

„)
p = dokument ('p')
tlač (dokument)
tlač (str.attr („id“), s.attr.id)

Po spustení vyššie uvedenej ukážky kódu by ste mali získať nasledujúci výstup:

Ahoj svet !!

S CSS môžete manipulovať pomocou metódy „css“. Ak chcete pridať štýly CSS

alebo akúkoľvek inú značku, môžete použiť nasledujúci kód:

z pyquery importovať PyQuery ako pq
document = pq ("

Ahoj svet !!

„)
p = dokument ('p')
p.css ("color": "red")
tlač (dokument)
tlač (str.attr („štýl“))

Vymeňte časť „„ color “:„ red “ za svoje vlastné štýly. Po spustení vyššie uvedenej ukážky kódu by ste mali získať nasledujúci výstup a môžete overiť, či bol CSS správne použitý:

Ahoj svet !!


farba: červená

Ak máte vopred navrhnutú triedu, môžete na použitie existujúcich štýlov použiť metódu „addClass“.

z pyquery importovať PyQuery ako pq
document = pq ("

Ahoj svet !!

„)
p = dokument ('p')
p.addClass ("môj štýl")

Svoje vlastné vlastné značky môžete pridať a doplniť pomocou vzorky kódu nižšie:

z pyquery importovať PyQuery ako pq
document = pq ("

Ahoj svet !!

„)
p = dokument ('p')
p.predplatiť („

Ahoj

„)
p.pridať („

Zbohom

„)
tlač (dokument)

Nahraďte argumenty v metóde „prepend“ a „append“ vlastnými hodnotami. Po spustení vyššie uvedenej ukážky kódu by ste mali získať nasledujúci výstup:

Ahoj

Ahoj svet !!

Zbohom

Ak chcete odstrániť obsah prvku, použite metódu „prázdny“.

z pyquery importovať PyQuery ako pq
document = pq ("

Ahoj svet !!

„)
p = dokument ('p')
p.prázdne ()
tlač (dokument)

Po spustení vyššie uvedenej ukážky kódu by ste mali získať nasledujúci výstup:

Ak existuje viac značiek rovnakého typu, môžete na výber konkrétnych prvkov použiť metódu „filter“. Napríklad kód uvedený nižšie zachytáva „

Značka so znakom „id“ ako „ahoj“:

z pyquery importovať PyQuery ako pq
document = pq ("

Ahoj

Svet !!

„)
p = dokument ('p')
tlač (str.filter ("# ahoj"))

Po spustení vyššie uvedenej ukážky kódu by ste mali získať nasledujúci výstup:

Ahoj

Pomocou metódy „nájsť“ môžete nájsť viac značiek / prvkov naraz:

z pyquery importovať PyQuery ako pq
document = pq ("

Ahoj

Svet !!

„)
tlačiť (dokument.nájsť („p“))

Zadajte názov značky / prvku ako argument pre metódu „find“. Po spustení vyššie uvedenej ukážky kódu by ste mali získať nasledujúci výstup:

Ahoj

Svet !!

Medzi parsermi „xml“ a „html“ môžete prepínať pomocou ďalšieho argumentu „parser“:

z pyquery importovať PyQuery ako pq
document = pq ("

Ahoj

Svet !!

", parser =" html ")
tlač (dokument)

Ak potrebujete ďalšiu pomoc s programom Pyquery, pozrite si jeho oficiálnu dokumentáciu a príklady tu.

Záver

PyQuery umožňuje rýchlo analyzovať html dokumenty napísaním minimálneho kódu, pretože obsahuje množstvo pomocných funkcií, ktoré úplne vynechávajú potrebu písania vlastného kódu. Jeho „jQuery“, ako je syntax a štruktúra, pomáha aj pri výbere prvkov a uzlov bez toho, aby sa dostalo hlbšie do stromu dokumentu, najmä ak je veľa vnorených značiek.

Hry Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Úvod do hry Civilization 6 predstavuje moderné poňatie klasického konceptu predstaveného v sérii hier Age of Empires. Myšlienka bola dosť jednoduchá; ...
Hry Ako inštalovať a hrať Doom na Linuxe
Ako inštalovať a hrať Doom na Linuxe
Úvod do Doom Séria Doom vznikla v 90. rokoch po vydaní pôvodného Doomu. Bol to okamžitý hit a od tej doby herná séria získala množstvo ocenení a origi...
Hry Vulkan pre používateľov systému Linux
Vulkan pre používateľov systému Linux
S každou novou generáciou grafických kariet vidíme, že vývojári hier posúvajú hranice grafickej vernosti a prichádzajú o krok bližšie k fotorealizmu. ...