Excel ma już wbudowany skrobak internetowy, właśnie do tego go używam
Web scraping prawdopodobnie brzmi jak coś zarezerwowanego dla programistów i hakerów, ale może być tak proste, jak pobieranie danych ze strony internetowej bezpośrednio do Excela, bez ręcznego kopiowania i wklejania czegokolwiek. Zamiast przełączać się między przeglądarką a arkuszem kalkulacyjnym, pozostajesz w Excelu, wklejasz adres strony internetowej, a dane pojawiają się w twoim skoroszycie prawie natychmiast.
Chociaż może to brzmieć skomplikowanie, nie potrzebujesz Pythona, rozszerzeń przeglądarki ani żadnej wiedzy programistycznej. Dopóki możesz uzyskać dostęp do Power Query w swojej aplikacji Excel, co powinieneś móc robić, jeśli używasz Excela 2016 lub nowszego, możesz pobrać prawie wszystko, od prostych tabel produktów po aktywny strumień API.
Użyj Power Query, aby importować tabele, pliki i interfejsy API do swojego arkusza kalkulacyjnego
Nie jest wymagany żaden kod ani zewnętrzne narzędzie do scrapowania
Najlepszym punktem wejścia do web scrapingu w Excelu jest opcja Z sieci Web w Power Query, którą znajdziesz w grupie Pobierz i przekształć dane na karcie Dane. Wklej URL, a Excel automatycznie spróbuje wykryć wszelkie tabele na stronie. Gdy to działa, możesz pobrać czyste, odświeżalne dane do swojego arkusza za pomocą zaledwie kilku kliknięć. Oczywiście, strony internetowe nie zawsze są aż tak współpracujące.
Kiedy strona nie prezentuje swoich danych w starannie sformatowanych tabelach, funkcja Dodaj tabelę za pomocą przykładów w Power Query wciąż może pomóc w wyodrębnieniu potrzebnych informacji. Zamiast polegać wyłącznie na automatycznym wykrywaniu, ta funkcja pozwala pokazać Excelowi rodzaj danych, których potrzebujesz. Możesz wpisać kilka przykładowych wartości, takich jak nazwa osi czasu i odpowiadający jej zakres dat, lub wybrać je z sugerowanych opcji w rozwijanym menu. Power Query następnie wykorzystuje rozpoznawanie wzorców, aby zeskanować stronę i automatycznie pobrać pasujące dane.
Proces rozpoczyna się w ten sam sposób, co standardowy import z sieci Web. W grupie Pobierz i przekształć dane na karcie Dane wybierz Z sieci Web, wprowadź adres URL strony internetowej w wyświetlonym oknie dialogowym i kliknij OK. Jeśli Excel poprosi Cię o wybór metody uwierzytelniania, Anonimowy jest zazwyczaj opcją domyślną i wymaga tylko kliknięcia Połącz.
Aby użyć Dodaj tabelę za pomocą przykładów, spójrz w lewy dolny róg okna Nawigator po załadowaniu strony. Kliknięcie przycisku otwiera interaktywny układ z żywym widokiem strony obok pustej tabeli. Stamtąd możesz wpisywać wartości przykładów bezpośrednio w kolumnach i dodawać więcej kolumn w razie potrzeby. Pamiętaj tylko, że ta funkcja działa tylko z wartościami do 128 znaków, co sprawia, że jest bardziej odpowiednia dla krótszych pól, takich jak imiona, ceny, identyfikatory i daty, niż dla długich opisów.
Przetestowałem to na stronie Wikipedii o Pokoleniach, ponieważ chciałem mieć jedną kolumnę z listą pokoleń, a drugą zawierającą lata ich urodzenia i opisy. Po dodaniu dodatkowej kolumny wpisałem „Lost Generation” i „1883 do 1900”, a następnie wybrałem pasujące sugestie z rozwijanego menu. Powtórzyłem ten proces dla Greatest Generation, a Excel automatycznie wypełnił pozostałe pokolenia za mnie. Wszystko, co musiałem zrobić później, to wstawić tabelę do mojego arkusza.
Power Query wykracza również poza pobieranie danych ze standardowych stron HTML. Możesz łączyć się bezpośrednio z adresami URL plików, w tym plikami CSV hostowanymi na GitHub, eksportami JSON z systemów wewnętrznych lub kanałami XML, a Excel automatycznie przetworzy ich zawartość na strukturalne tabele. Obsługuje również uwierzytelnione połączenia z interfejsem programowania aplikacji (API), co oznacza, że możesz korzystać z usług wymagających kluczy API bez konieczności używania osobnego narzędzia do skrobania danych.
Pod maską Power Query opiera się na trzech różnych funkcjach w zależności od typu źródła, z którym się łączysz:
Zawartość.Web | Ta funkcja obsługuje treści nieprzeglądarkowe, takie jak pliki CSV i interfejsy API JSON, z najszerszym wsparciem uwierzytelniania. |
Zawartość.PrzeglądarkiInternetowej | Ten jest nowoczesnym domyślnym rozwiązaniem dla stron HTML, opartym na silniku WebView2 przeglądarki Microsoft Edge. |
Strona internetowa | To jest starsza funkcja zbudowana na przeglądarce Internet Explorer, która nadal istnieje dla zachowania zgodności, ale jest coraz częściej wycofywana. |
W przypadku większości współczesnych przepływów pracy głównie będziesz pracować z Web.Contents i Web.BrowserContents.
Tworzenie inteligentniejszych zapytań internetowych
Dynamiczne adresy URL, parametry oparte na arkuszach kalkulacyjnych i kilka trików dla stron, które nie współpracują
Statyczne zapytania korzystające z ustalonego adresu URL są bardzo przydatne, ale Power Query staje się znacznie bardziej elastyczne, gdy zaczynasz tworzyć zapytania dynamiczne. Zamiast polegać na jednym stałym łączu, możesz tworzyć adresy URL z osobnych części i wymieniać parametry za każdym razem, gdy potrzebujesz innych danych. Na przykład, jeśli chcesz pobierać informacje dla różnych tematów bez konieczności odbudowywania zapytania za każdym razem, możesz złożyć adres URL bezpośrednio w Power Query.
W oknie dialogowym Z sieci wybierz opcję Zaawansowane zamiast Podstawowe. Następnie użyj sekcji części URL, aby zbudować adres kawałek po kawałku. W pierwszym polu tekstowym wprowadź stałą część URL, taką jak schemat i ścieżka:
https://en.wikipedia.org/wiki/Możesz następnie wybrać Dodaj część, aby utworzyć dodatkowe sekcje dla fragmentów zapytania lub wartości zmiennych, takich jak określone pokolenie lub kraj. Na przykład możesz ustawić Część URL 2 na parametr o nazwie Temat z wartością Pokolenie, a następnie ustawić Część 3 na #Social_generation. Tworząc zapytanie, Excel generuje podgląd na żywo końcowego URL.
Po wybraniu Przekształć dane w oknie Nawigatora, wejdziesz do Edytora Power Query, w którym możesz skuteczniej zarządzać tymi parametrami. W karcie Strona główna wybierz Zarządzaj parametrami, aby utworzyć wartości edytowalne, które można ponownie wykorzystać we wszystkich swoich zapytaniach. Oznacza to, że później można zmienić parametr Temat z Generacja na Zillennials, a tabele w arkuszu zostaną automatycznie odświeżone danymi z tej nowej strony.
Możesz to pójść jeszcze dalej, łącząc zapytanie bezpośrednio z wartościami zapisanymi w arkuszu kalkulacyjnym. Działa to szczególnie dobrze, gdy masz długą listę identyfikatorów, takich jak numery NPI dostawców opieki zdrowotnej, identyfikatory klientów lub SKU produktów. W edytorze Power Query przejdź do karty Dodaj kolumnę i wybierz Kolumna niestandardowa. Tam możesz napisać formułę, która łączy podstawowy URL z wartościami pobieranymi z kolumny w arkuszu.
Na przykład, jeśli masz kolumnę zawierającą terminy socjologiczne, takie jak Demographic_cohort lub Cultural_generation, możesz użyć formuły takiej jak ta:
=Web.Page(Web.Contents("https://en.wikipedia.org/wiki/" & Text.Replace(Text.Trim([Column1]), " ", "_"))){0}[Data] Może zajść potrzeba dostosowania poświadczeń lub ustawień prywatności, jeśli wcześniej nie łączyłeś się z tą stroną, ale gdy to zostanie zrobione, konfiguracja powinna działać dobrze. Zamiast tworzyć zapytania pojedynczo, możesz pobierać dane dla setek wpisów jednocześnie, odwołując się do kolumny arkusza kalkulacyjnego.
Jeśli nadal nie możesz pobrać dokładnych danych, których potrzebujesz ze strony internetowej, narzędzia deweloperskie w Chrome (lub innej przeglądarce) mogą pomóc. Otwórz kartę Sieć, przeładuj stronę i obserwuj żądania, które ładują się w tle. Wiele nowoczesnych stron internetowych wypełnia swoje strony przy użyciu wewnętrznych API JSON, które często są znacznie łatwiejsze w obsłudze niż sama strona. Możesz natknąć się na punkt końcowy, który wygląda mniej więcej tak:
https://en.wikipedia.org/w/api.php?action=parse&page=Generation&format=jsonBezpośrednie połączenie Power Query z końcówką API zamiast skrobania widocznej strony internetowej zazwyczaj daje szybsze, czystsze i bardziej niezawodne wyniki.
Warto się nauczyć, nawet jeśli nigdy niczego nie zdobędziesz
Webowy łącznik Power Query to w pełni obsługiwana, stale aktualizowana funkcja, nad którą Microsoft spędził lata, udoskonalając ją. Nawet jeśli nigdy nie zajmiesz się poważnym scrapowaniem stron internetowych, nauka, jak to działa, nadal może zaoszczędzić Ci sporo czasu.
Niezależnie od tego, czy śledzisz ceny konkurencji, pobierasz publiczne rejestry, czy automatyzujesz zbieranie danych, które w przeciwnym razie zajęłyby ci całe popołudnie, poświęcenie godziny na naukę podstaw naprawdę się opłaca. Zwrot z tej inwestycji zwykle pojawia się znacznie szybciej, niż byś się spodziewał.










