Krajta

Jak analyzovat a škrábat HTML pomocí Pyquery

Jak analyzovat a škrábat HTML pomocí Pyquery
„Pyquery“ je modul Pythonu třetí strany, který umožňuje analyzovat a extrahovat data z „xml“ a „html“ dokumentů. Je inspirován knihovnou jQuery JavaScript a nabízí téměř identickou syntaxi, která vám umožňuje analyzovat a manipulovat se stromem dokumentů pomocí mnoha pomocných funkcí a zkratkového kódu. Tento článek se bude zabývat jednoduchým průvodcem Pyquery, který vám pomůže začít s modulem.

Instalace Pyquery

Chcete-li nainstalovat Pyquery v Ubuntu, použijte níže uvedený příkaz:

$ sudo apt nainstalovat python3-pyquery

Můžete také nainstalovat nejnovější verzi Pyquery ze správce balíčků „pip“ spuštěním následujících dvou příkazů za sebou:

$ sudo apt nainstalovat python3-pip
$ pip3 nainstalujte pyquery

Chcete-li nainstalovat Pyquery v jiných distribucích Linuxu, nainstalujte „pip3“ ze správce balíčků a spusťte druhý výše uvedený příkaz.

Vytvoření srovnatelného stromu dokumentu

Než budete moci analyzovat a extrahovat data z dokumentu HTML, musíte vytvořit strom dokumentů. Strom dokumentů můžete vytvořit z jednoduchého označení HTML pomocí ukázky kódu níže:

z pyquery import PyQuery jako pq
document = pq ("Hello World !!")
tisk (dokument)
tisk (typ (dokument))

První příkaz importuje třídu „PyQuery“ z modulu „pyquery“. Dále se vytvoří nová instance třídy PyQuery. Po spuštění výše uvedeného ukázkového kódu byste měli získat následující výstup:

Ahoj světe !!

Všimněte si druhého řádku na výstupu. Zde „document“, který je instancí třídy „PyQuery“, nevrací objekt typu řetězce. Můžete rychle zadat dotaz na všechny metody dostupné pro instanci „dokumentu“ přidáním následujícího řádku do ukázky kódu výše:

z pyquery import PyQuery jako pq
document = pq ("Ahoj světe !!")
tisk (nápověda (dokument))

Můžete také procházet API pro třídu PyQuery online.

Chcete-li vytvořit strom dokumentů z adresy URL, použijte místo toho následující kód (nahraďte „url“ vlastní požadovanou adresou):

z pyquery import PyQuery jako pq
document = pq (url = 'https: // příklad.com ')
tisk (dokument)

Chcete-li vytvořit strom dokumentu z místního souboru HTML, použijte níže uvedený kód (podle potřeby nahraďte hodnotu „název souboru“):

z pyquery import PyQuery jako pq
document = pq (název souboru = 'index.html ')
tisk (dokument)

Nyní, když máte strom dokumentů, můžete jej začít analyzovat.

Manipulace se stromem dokumentů

Můžete extrahovat data a manipulovat se stromy dokumentů pomocí různých metod. Některé z nejběžnějších metod jsou uvedeny níže se vzorky. Všechny použitelné metody najdete v rozhraní API, které je k dispozici zde.

K získání textového obsahu prvku můžete použít metodu „text“:

z pyquery import PyQuery jako pq
document = pq ("

Ahoj světe !!

")
p = dokument ('p')
tisk (str.text())

Konkrétní tag / prvek můžete vybrat zadáním jeho názvu jako argumentu pro instanci „dokumentu“. Po spuštění výše uvedené ukázky kódu byste měli získat následující výstup:

Ahoj světe !!

Atributy značky můžete získat pomocí metody „attr“. Chcete-li tak učinit, vyberte značku, kterou chcete analyzovat (v tomto případě 'p') a zadejte název atributu jako argument (v tomto případě 'id') nebo použijte tečkový zápis.

z pyquery import PyQuery jako pq
document = pq ("

Ahoj světe !!

")
p = dokument ('p')
tisk (dokument)
tisk (str.attr („id“), s.attr.id)

Po spuštění výše uvedené ukázky kódu byste měli získat následující výstup:

Ahoj světe !!

S CSS můžete manipulovat pomocí metody „css“. Chcete-li přidat styly CSS

nebo jakoukoli jinou značku, můžete použít následující kód:

z pyquery import PyQuery jako pq
document = pq ("

Ahoj světe !!

")
p = dokument ('p')
p.css ("color": "red")
tisk (dokument)
tisk (str.attr ("styl"))

Nahraďte část „„ color “:„ red “„ vašimi vlastními styly. Po spuštění výše uvedeného ukázkového kódu byste měli získat následující výstup a můžete ověřit, zda byl CSS správně použit:

Ahoj světe !!


červená barva

Pokud máte předem stylizovanou třídu, můžete k použití existujících stylů použít pouze metodu „addClass“.

z pyquery import PyQuery jako pq
document = pq ("

Ahoj světe !!

")
p = dokument ('p')
p.addClass ("můj styl")

Pomocí níže uvedeného ukázky kódu můžete přidat a předložit vlastní vlastní označení: You can append and prepend your own custom markup using the code sample below:

z pyquery import PyQuery jako pq
document = pq ("

Ahoj světe !!

")
p = dokument ('p')
p.předřadit("

Ahoj

")
p.připojit("

sbohem

")
tisk (dokument)

Nahraďte argumenty v metodách „prepend“ a „append“ vlastními hodnotami. Po spuštění výše uvedené ukázky kódu byste měli získat následující výstup:

Ahoj

Ahoj světe !!

sbohem

Chcete-li odstranit obsah prvku, použijte metodu „prázdný“.

z pyquery import PyQuery jako pq
document = pq ("

Ahoj světe !!

")
p = dokument ('p')
p.prázdný()
tisk (dokument)

Po spuštění výše uvedené ukázky kódu byste měli získat následující výstup:

Pokud existuje více značek stejného typu, můžete použít metodu „filtru“ k výběru konkrétních prvků. Například níže uvedený kód vyzvedne „

Značka s „id“ jako „ahoj“:

z pyquery import PyQuery jako pq
document = pq ("

Ahoj

Svět !!

")
p = dokument ('p')
tisk (str.filtr ("# ahoj"))

Po spuštění výše uvedené ukázky kódu byste měli získat následující výstup:

Ahoj

Pomocí metody „find“ můžete najít více tagů / prvků najednou:

z pyquery import PyQuery jako pq
document = pq ("

Ahoj

Svět !!

")
tisk (dokument.najít ('p'))

Zadejte název tagu / prvku jako argument metody „find“. Po spuštění výše uvedené ukázky kódu byste měli získat následující výstup:

Ahoj

Svět !!

Mezi analyzátory „xml“ a „html“ můžete přepínat pomocí dalšího argumentu „parser“:

z pyquery import PyQuery jako pq
document = pq ("

Ahoj

Svět !!

", parser =" html ")
tisk (dokument)

Pokud potřebujete další pomoc s Pyquery, podívejte se do jeho oficiální dokumentace a příkladů, které jsou k dispozici zde.

Závěr

PyQuery umožňuje rychle analyzovat html dokumenty zápisem minimálního kódu, protože obsahuje řadu pomocných funkcí, které zcela vynechávají nutnost psaní vlastního kódu. Jeho „jQuery“, jako je syntaxe a struktura, také pomáhá při výběru prvků a uzlů, aniž by se dostalo hlouběji do stromu dokumentu, zvláště když je vnořených značek hodně.

Hry Jak nainstalovat a hrát Doom na Linuxu
Jak nainstalovat a hrát Doom na Linuxu
Úvod do Doom Série Doom vznikla v 90. letech po vydání původního Doomu. Byl to okamžitý hit a od té doby herní série získala řadu ocenění a původní Do...
Hry Vulkan pro uživatele Linuxu
Vulkan pro uživatele Linuxu
S každou novou generací grafických karet vidíme, že vývojáři her posouvají hranice grafické věrnosti a přibližují se k fotorealismu. Ale navzdory vešk...
Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvoření vlastní simulace dopravy může být zábavné, uvolňující a mimořádně lákavé. Proto se musíte ujistit, že vyzkoušíte co nejvíce her, abyste našl...