Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 75|Odpowiedź: 0

Użyj XPath, aby pobrać zawartość dokumentów XML i HTML

[Skopiuj link]
Opublikowano3 dni temu | | | |
XPath to technologia, która precyzyjnie i efektywnie określa i wyodrębnia wymagane informacje z danych o strukturze drzewa, takich jak HTML i XML.

Przegląd XPath

XPath to język używany do określania i wyodrębniania określonych elementów oraz atrybutów w drzewie dokumentów XML lub HTML. Ponieważ strony internetowe często składają się z HTML, XPath jest szeroko wykorzystywany w różnych sytuacjach, takich jak web scraping, wyszukiwanie danych czy wyszukiwanie danych XML.

Typowe użycie jest następujące:

  • Ekstrakcja danych w wyszukiwarkach internetowych: XPath służy do automatycznego pobierania konkretnych danych, takich jak informacje o produktach na stronach e-commerce czy tytuły artykułów na portalach informacyjnych.
  • Wyszukiwanie i przetwarzanie danych XML: W systemach biznesowych i przetwarzaniu łączy danych dane są często wymieniane w formacie XML. Dzięki użyciu XPath możesz efektywnie wydobyć niezbędne informacje z dużych ilości danych XML.
  • Parsing API Responses (format XML): W przypadku korzystania z API opartych na XML, takich jak SOAP, XPath służy do analizy danych odpowiedzi. Pozwala to szybko uzyskać konkretne kody statusu i dane wyników, poprawiając dokładność integracji systemu i automatycznego przetwarzania.

Rekomendacja narzędzi

W procesie nauki i korzystania z XPath najczęściej spotykane narzędzia to:

Chrome Developer Tools: Potężne narzędzie dołączone do przeglądarki Chrome, które można wywołać, naciskając F12. W panelu "Elements" możesz szybko znaleźć elementy HTML na stronie internetowej, przejeżdżając kursorem i klikając, a kliknięciem prawym przyciskiem na element możesz bezpośrednio skopiować wyrażenie XPath, co ułatwia weryfikację i testowanie. Na przykład, analizując stronę produktu e-commerce, możesz użyć narzędzi deweloperskich Chrome, aby szybko uzyskać XPath dla nazw produktów, cen i innych elementów.
Firefox Developer Tools: Również dołączone jest do przeglądarki, podobnie jak Chrome Developer Tools. Pozwala także łatwo lokalizować elementy na stronie, a także przeglądać i testować wyrażenia XPath. To dobra opcja dla deweloperów przyzwyczajonych do korzystania z przeglądarki Firefox.
Narzędzia do testowania XPath online: Narzędzia online, takie jak "XPath Tester", można używać bez instalacji i można z nich korzystać poprzez otwarcie strony internetowej. Wystarczy wkleić zawartość dokumentu XML lub HTML, wpisać wyrażenie XPath i zobaczyć wyniki dopasowania w czasie rzeczywistym. To narzędzie jest szczególnie odpowiednie dla początkujących, aby szybko zacząć i wykonywać proste ćwiczenia XPath.
XPath Helper Plugin: Weźmy na przykład przeglądarkę Chrome, po zainstalowaniu wtyczki XPath Helper, podczas przeglądania internetu dodaje on pływające okno do interfejsu przeglądarki, wyświetlające ścieżkę XPath aktualnego elementu przesuwania myszką, a także można edytować i testować wyrażenia XPath bezpośrednio w oknie, co znacznie zwiększa efektywność rozwoju.

Składnia XPath Abstract

Wybierz węzeł

XPath używa wyrażeń ścieżek do wyboru węzłów w dokumencie XML. Węzły wybierane są podążając ścieżką lub krokiem. Najbardziej użyteczne wyrażenia ścieżek wymieniono poniżej:
wyrażenie
opis
nazwa węzłaWybiera wszystkie węzły potomne tego węzła.
/Wybierz z węzła korzeniowego (weź węzeł potomny).
//Wybiera węzły w dokumencie z aktualnego węzła dopasowanego wyboru, niezależnie od ich lokalizacji (przyjmuj węzły potomne).
.Wybierz aktualny węzeł.
..Wybierz węzeł nadrzędny aktualnego węzła.
@Wybierz atrybut.

W poniższej tabeli wymieniliśmy niektóre wyrażenia ścieżek wraz z wynikami wyrażeń:
Wyrażenia ścieżek
wynik
księgarniaWybierz wszystkie węzły o nazwie księgarnia.
/bookstore
Wybierz księgarnię z elementami korzeniowymi.
Uwaga: Jeśli ścieżka zaczyna się od ukośnika do przodu ( / ), to ta ścieżka zawsze reprezentuje absolutną ścieżkę do elementu!
Księgarnia/książkaWybiera wszystkie elementy książki, które są dziećmi księgarni.
//bookWybiera wszystkie podelementy książki, niezależnie od ich pozycji w dokumencie.
Księgarnia//książkaWybierz wszystkie elementy książki, które są potomkami księgarni, niezależnie od tego, gdzie znajdują się pod księgarnią.
@langWybierz wszystkie właściwości o nazwie lang.

Predykaty

Predykat służy do znalezienia konkretnego węzła lub węzła zawierającego określoną wartość.
Predykat jest osadzony w nawiasach kwadratowych.
W poniższej tabeli wymieniamy niektóre wyrażenia ścieżkowe z predykatami oraz wyniki wyrażeń:
Wyrażenia ścieżek
wynik
/bookstore/book[1]Wybierz pierwszy element książki, który jest częścią dzieckiego elementu księgarni.
/bookstore/book[last()]Wybiera ostatni element książki, który jest częścią podelementu księgarni.
/bookstore/book[last()-1]Wybiera przedostatni element książki, który należy do dziecięcego segmentu księgarni.
/bookstore/book[position()<3]Wybierz pierwsze dwa elementy książki, które są elementami potomnymi części księgarni.
Tytuł[@lang]Wybiera wszystkie elementy tytułu, które mają własność o nazwie lang.
tytuł[@lang='eng']Wybiera wszystkie elementy tytułowe, które mają atrybut lang z wartością eng.
/bookstore/book[price>35.00]Wybiera wszystkie elementy książki z księgarni, a wartość elementu ceny musi przekraczać 35,00.
/bookstore/book[price>35.00]//titleWybiera wszystkie elementy tytułu elementu książki w elemencie księgarni, a wartość elementu ceny musi przekraczać 35,00.

Wybierz nieznany węzeł

Karty uniwersalne XPath mogą być używane do wykrywania nieznanych elementów XML.
Symbol wieloznaczny
opis
*Pasuje do dowolnego węzła elementu.
@*Pasuje do dowolnego węzła atrybutu.
node()Pasuje do dowolnego typu węzła.

W poniższej tabeli wymieniamy niektóre wyrażenia ścieżek oraz wyniki tych wyrażeń:
Wyrażenia ścieżek
wynik
/bookstore/*Wybiera wszystkie elementy dzieckie z księgarni.
//*Wybiera wszystkie elementy z dokumentu.
tytuł[@*]Wybiera wszystkie elementy tytułu z atrybutami.

Wybierz kilka ścieżek

Używając "|" w wyrażeniu ścieżki operatorzy, możecie wybrać kilka ścieżek.

W poniższej tabeli wymieniamy niektóre wyrażenia ścieżek oraz wyniki tych wyrażeń:
Wyrażenia ścieżek
wynik
//book/title | //book/priceWybiera wszystkie elementy tytułu i ceny z elementu książki.
tytuł | cenaWybierz wszystkie elementy tytułu i ceny w dokumencie.
/bookstore/book/title | //priceWybiera wszystkie elementy tytułu książki, które należą do części księgarni, oraz wszystkie elementy ceny w dokumencie.

Funkcja XPath

Poniżej znajduje się skomentowana lista specyficznych dla XPath dodatków do XPath przez podstawowe funkcje XPath oraz XSLT, w tym opisy, składnię, listy parametrów, typy wyników oraz źródła w odpowiadających rekomendacjach W3C.

  • boolean()
  • ceiling()
  • choose()
  • concat()
  • zawiera()
  • count()
  • current() specyficzny dla XSLT
  • document() specyficzny dla XSLT
  • element-available()
  • false()
  • floor()
  • format-number() specyficzny dla XSLT
  • function-available()
  • generate-id() specyficzny dla XSLT
  • id()
  • key() specyficzny dla XSLT
  • lang()
  • last()
  • local-name()
  • name()
  • namespace-uri()
  • normalize-space()
  • not()
  • number()
  • position()
  • round()
  • zaczyna-od()
  • string()
  • string-length()
  • substring()
  • substring-after()
  • substring-before()
  • sum()
  • system-property() specyficzny dla XSLT
  • translate()
  • true()
  • unparsed-entity-url() specyficzny dla XSLT

Testy praktyczne

Otwórz Chrome i pobierz zawartość tekstu wszystkich linków do zakładki A za pomocą następującego polecenia:
Jak pokazano poniżej:



Odniesienie:Logowanie do linku jest widoczne.




Poprzedni:[Dramaturg] (3) Automatyczne testowanie wykrywające wyjątki błędów
Następny:.NET/C# wywołuje usługę interfejsu tłumaczenia tekstu Azure Translator
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com