Pobieranie danych z sieci Web (cz. 1): Power Query vs Pobieranie danych zewnętrznych

Przygotowując dane do infografiki „Polska najwyżej w historii w rankingu FIFA”, łączyłem się ze stronami internetowymi Wikipedii i FIFA. Gdybym nie znał Power Query i korzystał ze standardowych możliwości programu Excel, zebranie danych zajęłoby mi godziny, a nie kilka minut. Czym mechanizm pobierania danych z sieci Web w Power Query różni się od standardowej opcji Pobierz dane z sieci Web?

Podczas szkoleń z Excel BI powtarzam zawsze, że stare sposoby pobierania danych odchodzą do lamusa i obowiązkiem każdego szanującego się użytkownika programu Excel jest dokładne poznanie możliwości dodatku Power Query. Dlaczego? O tym pisałem już, opisując powody korzystania z Query (Get & Transform). W poniższym artykule spróbuję to udowodnić na przykładzie pobierania danych z Wikipedii ze stron:

Pobieranie danych zewnętrznych – stara szkoła

Problem z klasycznym łączeniem z siecią Web dla stron Wikipedii jest szczególnie widoczny – zamiast pobierać pojedynczą tabelę pobieramy całą stronę.

Finalnie w arkuszu lądują teksty oraz tabele, bardzo często nieuporządkowane.

Obróbka tych danych, zwłaszcza dodanie kolumny data meczu w formacie YYYY-MM-RR dla każdego wpisu byłoby drogą przez mękę. Co więcej dane na Wikipedii były rozrzucone na dwóch stronach, co oznacza, że cały proces przygotowania danych musiałbym powtórzyć ręcznie dla drugiej strony.

Pobieranie danych z sieci Web poprzez Power Query

W zależności od posiadanej wersji programu Excel, Power Query znajdziemy na karcie Dane > Pobieranie i przekształcanie > Nowe zapytanie (Excel 2016+) lub bezpośrednio na karcie Power Query (Excel 2010 i 2013).

W kolejnym oknie wklejamy link.

Z jednej strony Power Query potrafi wczytać strukturę html strony (element Document), z drugiej zaś świetnie wychwytuje pojedyncze tabele. Do dyspozycji mamy 2 widoki podglądu:

  1. Widok tabeli
  2. Widok sieci Web

Po wybraniu opcji Edytuj wczytujemy dane do Query i rozpoczynamy obróbkę danych.

Co dalej? W skrócie:

  • nagrałem ciąg poleceń dla pierwszej strony

  • zduplikowałem zapytanie i uruchomiłem proces dla drugiej strony (z małymi zmianami, bo między stronami było kilka różnic)
  • scaliłem zapytania

 

Efekt końcowy: kilka minut pracy, oszczędności na poziomie 1 h.

W kolejnym artykule pokażę, jak podobny proces wykonałem dla prawie 300 stron FIFA w kilka minut.

Plik do pobrania

Pobierz plik Pobieranie danych z sieci Web przez Power Query i sprawdź sam.

Udostępnij ten wpis:

Brak komentarzy

  1. Bardzo ciekawy wpis. Import danych ze stron www daje szereg możliwości do wykorzystania. A jak zaimportować dane z SAP BO? Próbowałam analogicznie jak w powyższym przykładzie, czyli kopiując adres strony, ale wyskakuje jakiś problem.

  2. wszystko ok tylko jak obejść zapytanie o prywatność, które pokazuje się w „Widoku sieci web” – przyciski nie reagują nie ma jak wyświetlić właściwej tabeli:(

    • Hej Robert, tu zapytania o prywatność być nie powinno lub można je zignorować, jeśli jest taka opcja, bo łączymy się z danymi ogólnodostępnymi.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *