Pyton

Jak analizować i usuwać kod HTML za pomocą Pyquery

Jak analizować i usuwać kod HTML za pomocą Pyquery
„Pyquery” to moduł Pythona innej firmy, który umożliwia parsowanie i wyodrębnianie danych z dokumentów „xml” i „html”. Jest inspirowany biblioteką JavaScript jQuery i ma prawie identyczną składnię, co pozwala na użycie wielu funkcji pomocniczych i skróconego kodu do analizowania i manipulowania drzewem dokumentów. Ten artykuł zawiera prosty przewodnik po Pyquery, który pomoże Ci rozpocząć pracę z modułem.

Instalacja Pyquery

Aby zainstalować Pyquery w Ubuntu, użyj polecenia podanego poniżej:

$ sudo apt install python3-pyquery

Możesz także zainstalować najnowszą wersję Pyquery z menedżera pakietów „pip”, uruchamiając kolejno następujące dwie komendy:

$ sudo apt install python3-pip
$ pip3 zainstaluj pyquery

Aby zainstalować Pyquery w innych dystrybucjach Linuksa, zainstaluj „pip3” z menedżera pakietów i uruchom drugie polecenie wymienione powyżej.

Tworzenie parsowalnego drzewa dokumentów

Zanim będziesz mógł analizować i wyodrębniać dane z dokumentu HTML, musisz stworzyć drzewo dokumentów. Możesz utworzyć drzewo dokumentów z prostego znacznika HTML, korzystając z poniższego przykładowego kodu:

z pyquery importuj PyQuery jako pq
document = pq("Witaj świecie !!")
Wydrukuj dokument)
drukuj (rodzaj(dokument))

Pierwsza instrukcja importuje klasę „PyQuery” z modułu „pyquery”. Następnie tworzona jest nowa instancja klasy PyQuery. Po uruchomieniu powyższego przykładowego kodu powinieneś otrzymać następujące dane wyjściowe:

Witaj świecie !!

Zwróć uwagę na drugą linię w danych wyjściowych. Tutaj „dokument”, który jest instancją klasy „PyQuery”, nie zwraca obiektu typu string. Możesz szybko zapytać o wszystkie metody dostępne dla wystąpienia „dokumentu”, dodając następujący dodatkowy wiersz do powyższego przykładu kodu:

z pyquery importuj PyQuery jako pq
dokument = pq("Witaj świecie !!")
drukuj (pomoc(dokument))

Możesz także przeglądać API dla klasy PyQuery online.

Aby utworzyć drzewo dokumentów z adresu URL, użyj zamiast tego następującego kodu (zastąp „url” własnym żądanym adresem):

z pyquery importuj PyQuery jako pq
dokument = pq(url='https://przyklad.pl')
Wydrukuj dokument)

Aby utworzyć drzewo dokumentów z lokalnego pliku HTML, użyj poniższego kodu (zastąp wartość „nazwa pliku” zgodnie z potrzebami):

z pyquery importuj PyQuery jako pq
dokument = pq(nazwapliku='indeks.html')
Wydrukuj dokument)

Teraz, gdy masz już drzewo dokumentów, możesz zacząć je analizować.

Manipulowanie drzewem dokumentów

Możesz wyodrębniać dane i manipulować drzewami dokumentów przy użyciu różnych metod. Niektóre z najczęstszych metod są wymienione poniżej wraz z próbkami. Aby poznać wszystkie możliwe do użycia metody, zapoznaj się z API dostępnym tutaj.

Możesz użyć metody „text”, aby pobrać zawartość tekstową elementu:

z pyquery importuj PyQuery jako pq
dokument = pq("

Witaj świecie !!

")
p = dokument('p')
drukuj (p.tekst())

Możesz wybrać konkretny tag / element, podając jego nazwę jako argument do instancji „dokumentu”. Po uruchomieniu powyższego przykładowego kodu powinieneś otrzymać następujące dane wyjściowe:

Witaj świecie !!

Możesz uzyskać atrybuty tagu za pomocą metody „attr”. Aby to zrobić, wybierz tag, który chcesz przeanalizować (w tym przypadku „p”) i podaj nazwę atrybutu jako argument (w tym przypadku „id”) lub użyj notacji z kropkami.

z pyquery importuj PyQuery jako pq
dokument = pq("

Witaj świecie !!

")
p = dokument('p')
Wydrukuj dokument)
drukuj (p.attr("id"), p.przyciągać.ID)

Po uruchomieniu powyższego przykładowego kodu powinieneś otrzymać następujące dane wyjściowe:

Witaj świecie !!

Możesz manipulować CSS za pomocą metody „css”. Aby dodać style CSS do

lub dowolny inny tag, możesz użyć następującego kodu:

z pyquery importuj PyQuery jako pq
dokument = pq("

Witaj świecie !!

")
p = dokument('p')
p.css("kolor": "czerwony")
Wydrukuj dokument)
drukuj (p.attr("styl"))

Zastąp część „„kolor”: „czerwony”” własnymi niestandardowymi stylami. Po uruchomieniu powyższego przykładowego kodu powinieneś otrzymać następujące dane wyjściowe i możesz sprawdzić, czy CSS został poprawnie zastosowany:

Witaj świecie !!


kolor czerwony

Jeśli masz wstępnie stylizowaną klasę, możesz po prostu użyć metody „addClass”, aby zastosować istniejące style.

z pyquery importuj PyQuery jako pq
dokument = pq("

Witaj świecie !!

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

Możesz dołączyć i dodać własne niestandardowe znaczniki, korzystając z poniższego przykładowego kodu:

z pyquery importuj PyQuery jako pq
dokument = pq("

Witaj świecie !!

")
p = dokument('p')
p.dołączyć("

cześć

")
p.dodać("

PA

")
Wydrukuj dokument)

Zastąp argumenty w metodzie „prepend” i „append” własnymi wartościami. Po uruchomieniu powyższego przykładowego kodu powinieneś otrzymać następujące dane wyjściowe:

cześć

Witaj świecie !!

PA

Aby usunąć zawartość elementu, użyj metody „pustej”.

z pyquery importuj PyQuery jako pq
dokument = pq("

Witaj świecie !!

")
p = dokument('p')
p.pusty()
Wydrukuj dokument)

Po uruchomieniu powyższego przykładowego kodu powinieneś otrzymać następujące dane wyjściowe:

Możesz użyć metody „filtrowania”, aby wybrać określone elementy, gdy istnieje wiele tagów tego samego typu. Na przykład poniższy kod pobiera „

” mający „id” jako „hello”:

z pyquery importuj PyQuery jako pq
dokument = pq("

cześć

Świat !!

")
p = dokument('p')
drukuj (p.filtr("#witaj"))

Po uruchomieniu powyższego przykładowego kodu powinieneś otrzymać następujące dane wyjściowe:

cześć

Możesz znaleźć wiele tagów / elementów na raz, używając metody „znajdź”:

z pyquery importuj PyQuery jako pq
dokument = pq("

cześć

Świat !!

")
Wydrukuj dokument.znajdź('p'))

Podaj tag / nazwę elementu jako argument do metody „znajdź”. Po uruchomieniu powyższego przykładowego kodu powinieneś otrzymać następujące dane wyjściowe:

cześć

Świat !!

Możesz przełączać się między parserami „xml” i „html” za pomocą dodatkowego argumentu „parser”:

z pyquery importuj PyQuery jako pq
dokument = pq("

cześć

Świat !!

", parser="html")
Wydrukuj dokument)

Jeśli potrzebujesz dalszej pomocy z Pyquery, zapoznaj się z jego oficjalną dokumentacją i przykładami dostępnymi tutaj.

Wniosek

PyQuery pozwala na szybkie parsowanie dokumentów html poprzez pisanie minimalnego kodu, ponieważ zawiera liczne funkcje pomocnicze, które całkowicie pomijają potrzebę pisania niestandardowego kodu. Jego składnia i struktura „jQuery” pomaga również w wybieraniu elementów i węzłów bez zagłębiania się w drzewo dokumentu, zwłaszcza gdy jest dużo zagnieżdżonych znaczników.

Gry Jak używać AutoKey do automatyzacji gier Linux
Jak używać AutoKey do automatyzacji gier Linux
AutoKey to narzędzie do automatyzacji pulpitu dla systemów Linux i X11, zaprogramowane w Python 3, GTK i Qt. Korzystając ze skryptów i funkcji MAKRO, ...
Gry How to Show FPS Counter in Linux Games
How to Show FPS Counter in Linux Games
Linux gaming got a major push when Valve announced Linux support for Steam client and their games in 2012. Since then, many AAA and indie games have m...
Gry How to download and Play Sid Meier's Civilization VI on Linux
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...