Contents

Jak pobierać dane z witryny internetowej za pomocą Arkuszy Google

Web scraping to potężna technika wyodrębniania informacji ze stron internetowych i ich automatycznej analizy. Chociaż można to zrobić ręcznie, może to być żmudne i czasochłonne zadanie. Narzędzia do skrobania stron internetowych sprawiają, że proces ten jest szybszy i bardziej wydajny, a przy tym tańszy.

Rzeczywiście, Arkusze Google mogą służyć jako kompleksowe rozwiązanie do celów skrobania stron internetowych, dzięki wbudowanej funkcji IMPORTXML. Funkcja ta umożliwia użytkownikom łatwe wyodrębnianie informacji z różnych stron internetowych, które można następnie wykorzystać do szeregu zastosowań, takich jak analiza danych, raportowanie i wszelkie zadania wymagające wglądu w dane.

Funkcja IMPORTXML w Arkuszach Google

Wykorzystując wbudowaną funkcjonalność Arkuszy Google, znaną jako “IMPORTXML”, możliwe jest wyodrębnianie informacji z różnych źródeł internetowych, w tym formatów XML, HTML, RSS i CSV. Wdrożenie tej funkcji może potencjalnie usprawnić proces gromadzenia danych ze stron internetowych bez konieczności posiadania rozległej wiedzy programistycznej.

Oto podstawowa składnia IMPORTXML:

 =IMPORTXML(url, xpath_query) 

Uniform Resource Locator (URL) określa adres konkretnej strony internetowej, z której chcemy wyodrębnić informacje za pomocą technik web scrapingu.

Zapytanie XPath reprezentuje precyzyjny język używany do wybierania określonych informacji z dokumentu XML, który określa pożądane dane, które mają zostać z niego wyodrębnione.

XPath, czyli język ścieżek XML, służy jako narzędzie nawigacyjne do eksploracji i wyodrębniania informacji z dokumentów XML, w tym HTML. Wykorzystanie tego języka umożliwia użytkownikom identyfikację konkretnych lokalizacji pożądanych elementów danych w strukturze HTML. Zrozumienie podstaw zapytań XPath ma kluczowe znaczenie dla skutecznego wykorzystania funkcji IMPORTXML.

Zrozumienie XPath

XPath oferuje szereg funkcji i operatorów, które umożliwiają manipulowanie i filtrowanie danych w dokumencie HTML. Chociaż dostarczenie wyczerpującego przeglądu zarówno XML, jak i XPath byłoby poza zakresem tego artykułu, przedstawię tutaj kilka podstawowych zasad XPath:

Wybieranie elementów poprzez wykorzystanie ograniczników, takich jak ukośniki ("/") i podwójne ukośniki (//), pozwala na identyfikację określonych ścieżek w dokumencie HTML. Na przykład “/html/body/div” zidentyfikuje wszystkie wystąpienia elementów “div” znajdujących się w sekcji “body” dokumentu HTML zawartego w katalogu “html”.

Aby zidentyfikować i wyodrębnić określone atrybuty z danej strony internetowej, można wykorzystać różne kryteria wyboru oparte na konwencjach nazewnictwa atrybutów lub innych możliwych do zidentyfikowania wzorcach. Poprzez zastosowanie odpowiedniego selektora, takiego jak “@href” w tym przypadku, możliwe jest ukierunkowanie i pobranie wszystkich wystąpień atrybutów “href” obecnych w dokumencie. Takie podejście pozwala na efektywne pobieranie istotnych informacji przy jednoczesnym odfiltrowaniu nieistotnych danych.

Filtrowanie elementów za pomocą predykatów zawartych w nawiasach kwadratowych to mechanizm, który pozwala wybrać określone elementy na podstawie pewnych kryteriów określonych w nawiasach kwadratowych. Można to zrobić za pomocą atrybutów lub klas znaczników HTML. Przykładem może być wybranie wszystkich elementów z atrybutem class równym “container” przy użyciu składni /div[@class="container"] .

XPath oferuje szereg funkcji, w tym możliwość określenia, czy dany element jest zawarty w innym elemencie za pomocą funkcji “contains()”, sprawdzenia, czy nazwa znacznika elementu zaczyna się od określonego ciągu za pomocą funkcji “starts-with()” i wyodrębnienia wartości tekstowej elementu za pomocą funkcji “text()”. Funkcje te umożliwiają użytkownikom wykonywanie ukierunkowanych operacji na dokumentach XML w oparciu o określone kryteria.

Jak wyodrębnić XPath ze strony internetowej

Wyodrębnienie XPath elementu za pomocą IMPORTXML może być trudnym zadaniem dla tych, którzy są zaznajomieni ze składnią funkcji, posiadają wiedzę na temat adresu URL strony docelowej i zidentyfikowali konkretny element, który chcą pobrać. Proces obejmuje identyfikację unikalnego identyfikatora lub atrybutów związanych z żądanym elementem, a następnie wykorzystanie tych informacji w połączeniu z formułą XPath w celu wygenerowania odpowiedniej ścieżki do elementu w strukturze XML strony internetowej.

Nie trzeba zapamiętywać architektury strony internetowej w całości, aby uzyskać z niej informacje za pomocą IMPORTXML. W rzeczywistości każda platforma do przeglądania stron internetowych zapewnia wydajne narzędzie umożliwiające łatwe odtworzenie XPath dowolnego elementu.

/pl/images/using-inspect-element-to-copy-xpath.jpg

Narzędzie “Inspect Element” pozwala na wyodrębnienie języka ścieżek XML (XPath) z różnych komponentów strony internetowej za pomocą uproszczonego procesu, jak opisano poniżej:

Uzyskaj dostęp do żądanej strony internetowej za pomocą preferowanej aplikacji do przeglądania Internetu, takiej jak Google Chrome lub Mozilla Firefox.

Pobranie żądanego elementu danych poprzez zidentyfikowanie jego lokalizacji w kodzie źródłowym strony internetowej za pomocą narzędzia do skrobania stron internetowych, takiego jak Beautiful Soup lub Scrapy.

⭐Kliknięcie prawym przyciskiem myszy na elemencie.

Aby uzyskać dostęp do funkcji “Inspect Element”, można wybrać ją z menu kontekstowego uzyskanego po kliknięciu prawym przyciskiem myszy na stronie internetowej przy jednoczesnym przytrzymaniu przycisku myszy. Ta czynność spowoduje, że przeglądarka wyświetli interaktywny panel, który przedstawia podstawowe znaczniki HTML strony, z konkretnym elementem, o którym mowa, wyróżnionym wizualnie w tym kodzie.

Najpierw kliknij element, który chcesz zmodyfikować na swojej stronie internetowej. Następnie zlokalizuj opcję “Inspect” w menu kontekstowym, które pojawia się po kliknięciu prawym przyciskiem myszy. Gdy to zrobisz, wybierz żądany element z listy elementów, które pojawiają się w kodzie HTML do dalszej edycji lub manipulacji.

Kliknij poniższy przycisk, aby wygenerować wyrażenie XPath dla wybranego elementu, które można następnie łatwo skopiować do schowka.

Teraz, gdy uzyskaliśmy niezbędne informacje, przejdźmy do zademonstrowania praktycznego zastosowania IMPORTXML poprzez wyodrębnienie adresów URL z danej strony internetowej.

Jak wyodrębnić linki ze strony internetowej za pomocą IMPORTXML

Wykorzystując potężne możliwości IMPORTXML, można wyodrębnić szeroki zakres informacji z różnych stron internetowych. Obejmuje to nie tylko zawartość tekstową, ale także zasoby multimedialne, takie jak obrazy i filmy, a także praktycznie każdy możliwy element obecny na stronie. Wśród tych elementów hiperłącza mają szczególne znaczenie ze względu na ich znaczenie w zrozumieniu struktury i hierarchii strony internetowej. Analizując miejsca docelowe, do których dana strona jest połączona, można uzyskać cenne informacje na temat charakteru i celu tej witryny.

Wykorzystanie IMPORTXML w Arkuszach Google umożliwia szybkie wyodrębnianie adresów URL ze stron internetowych, ułatwiając późniejszą analizę za pomocą szeregu funkcji dostępnych na platformie.

Skrobanie wszystkich linków

Aby wyodrębnić wszystkie adresy URL obecne na określonej stronie internetowej, można zastosować następującą metodologię:

 =IMPORTXML(url, "//a/@href")

Podane wyrażenie XPath pobiera każdy atrybut “href” powiązany z każdym wystąpieniem elementu “a”, tym samym skutecznie izolując i zbierając wszystkie hiperłącza obecne na stronie internetowej.

/pl/images/scraping-all-links-in-a-webpage-with-importxml.jpg

 =IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a/@href") 

Powyższy algorytm wyodrębnia wszystkie hiperłącza zawarte we wpisie Wikipedii.

Uwzględnienie praktyki wprowadzania adresu URL strony internetowej w osobnej komórce i odwoływania się do niej jest przemyślanym podejściem, ponieważ środek ten pomaga zachować zwięzłe formuły, unikając jednocześnie bałaganu lub złożoności.Podobną taktykę można zastosować podczas formułowania zapytań XPath w celu płynnej nawigacji w kontekście analizy danych.

Skrobanie wszystkich tekstów linków

Aby pobrać zawartość hiperłączy oprócz ich odpowiednich jednolitych lokalizatorów zasobów, można zastosować następujące podejście:

 =IMPORTXML(url, "//a")

Niniejsze zapytanie obejmuje pobieranie wszystkich elementów, przy czym wyodrębniony tekst linku i powiązane adresy URL można uzyskać z wyniku.

/pl/images/scraping-all-link-texts-in-a-webpage-with-importxml.jpg

 =IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a") 

Powyższe sformułowanie pobiera tekst kotwicy w identycznym wpisie Wikipedii.

Czasami konieczne jest pobranie stron internetowych z określonych witryn zawierających określone słowa kluczowe lub znajdujących się w wyznaczonych obszarach strony internetowej.

Wykorzystanie biegłej znajomości XPath pozwala precyzyjnie zidentyfikować i zlokalizować pożądany element.

Skrobanie linków zawierających słowo kluczowe

Aby wyodrębnić adresy URL zawierające określone słowo kluczowe za pomocą XPath, można użyć funkcji “contains()”:

 =IMPORTXML(url, "//a[contains(@href, 'keyword')]/@href")

Podane zapytanie pobiera wartości href elementów HTML, których atrybut href zawiera określone wyszukiwane hasło, zgodnie z podanymi kryteriami.

/pl/images/scrapping-specific-links-with-a-keyword-with-importxml.jpg

 =IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a[contains(@href, 'record')]/@href")

Powyższy algorytm wyodrębnia każde hiperłącze osadzone w określonej instancji treści pisemnej znalezionej w encyklopedii internetowej, w której termin “rekord” znajduje się w treści wspomnianego łącza.

Skrobanie linków w obrębie sekcji

Aby wyodrębnić linki z określonej części strony internetowej, można użyć wyrażenia XPath do zidentyfikowania żądanej sekcji. Jako ilustrację rozważmy następujący fragment kodu:

 =IMPORTXML(url, "//div[@class='section']//a/@href")

Powyższe zapytanie dotyczy wyboru atrybutów hiperłącza powiązanych z elementami HTML skategoryzowanymi jako “div” i posiadającymi oznaczenie “section”, w których wspomniany atrybut jest powszechnie wykorzystywany do identyfikacji linków lub nawigacji między stronami internetowymi, ułatwiając w ten sposób interakcję użytkownika na platformach cyfrowych.

/pl/images/scraping-links-within-sections-with-importxml.jpg

Wyżej wymieniona formuła dotyczy wszystkich hiperłączy osadzonych w elemencie HTML z atrybutem class “mw-content-container” i zagnieżdżonych wewnątrz elementu kontenera z atrybutem id ustawionym na “mainpage”.

 =IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//div[@class='mw-content-container']//a/@href") 

Rzeczywiście, ważne jest, aby pamiętać, że funkcjonalność IMPORTXML wykracza poza proste operacje skrobania stron internetowych.Rodzina funkcji IMPORT umożliwia użytkownikom płynne importowanie ustrukturyzowanych tabel danych bezpośrednio do Arkuszy Google z różnych źródeł w Internecie. Funkcja ta umożliwia użytkownikom efektywne gromadzenie i organizowanie informacji bez konieczności ręcznego wprowadzania każdego elementu danych z osobna.

Chociaż zarówno Arkusze Google, jak i Microsoft Excel posiadają wiele podobnych funkcji, ważne jest, aby pamiętać, że rodzina funkcji IMPORT jest dostępna wyłącznie w Arkuszach Google. W związku z tym należy zbadać alternatywne strategie podczas próby wyodrębnienia danych ze źródeł internetowych do programu Microsoft Excel.

Uprość skrobanie stron internetowych za pomocą Arkuszy Google

Wykorzystanie Arkuszy Google w połączeniu z funkcją IMPORTXML pozwala na adaptowalną i dostępną metodę wyodrębniania informacji ze stron internetowych, co czyni ją popularnym wyborem wśród osób poszukujących danych online.

Dzięki biegłemu wykorzystaniu XPath i formułowaniu wydajnych zapytań za pomocą IMPORTXML, można wykorzystać jego pełne możliwości i wydobyć bezcenne informacje ze źródeł internetowych. W ten sposób zainicjowanie ekstrakcji danych poprzez skrobanie sieci podniesie twoje umiejętności analityczne w sieci do zaawansowanego etapu.