Wielu z nas z pewnością słyszało już stwierdzenie „data is king”. Bezsprzecznie najpowszechniejszym współcześnie źródłem danych jest Internet – używamy go do czytania wiadomości, sprawdzania prognozy pogody, wyszukiwania informacji potrzebnych nam do pracy i nauki czy w celach rozrywkowych.
W ciągu ostatnich lat coraz częściej jednak pozyskiwanie danych w Internecie ma charakter biznesowy – firmom zależy zarówno na tym, żeby to ich strony były wyświetlane użytkownikom, jak i same są ciekawe tego, co robi ich konkurencja. Stąd pojawia się potrzeba, aby dane w Internecie pozyskiwać szybko i efektywnie – odpowiedzią na to zapotrzebowanie jest właśnie web scraping.
Czym jest web scraping?
Najprościej mówiąc, web scraping to pozyskiwanie danych ze stron internetowych, zazwyczaj w sposób zautomatyzowany. W tym celu można wykorzystywać dedykowane narzędzia, zwykle w postaci botów, które są w stanie w krótkim czasie pobrać ze strony internetowej dużą ilość informacji. Takie boty nie tylko są w stanie pozyskać dane w nieporównywalnie szybszy sposób, niż gdyby robić to manualnie, ale mogą też pobrane informacje automatycznie eksportować do wskazanego przez użytkownika formatu.
Obecnie przypuszcza się, że prawie połowa ruchu internetowego obecnie to różnego rodzaju boty. Przeczesują one sieć, zbierając dla firm informacje o konkurencji, obecnym rynku, jak również i o potencjalnych klientach. Web scraping wykorzystywany jest także coraz chętniej w SEO – nie da się ukryć, że perspektywa szybkiego pozyskiwania danych bez większego wysiłku może być naprawdę kusząca.
Web scraping a web crawling – jaka jest różnica?
Web scraping wydaje się być bardzo podobnym terminem do web crawlingu, ale czy jest to ten sam proces? Nie do końca.
Web crawling polega na automatycznym przeszukiwaniu sieci w celu zbierania informacji o dostępnych stronach internetowych. Boty (tzw. crawlers) przemierzają strony, śledząc linki i zbierając informacje o stronach, które odwiedzają. Głównym celem jest zrozumienie struktury sieci i zidentyfikowanie dostępnych zasobów.
Web scraping natomiast to technika pozyskiwania konkretnych danych z witryn internetowych. W trakcie tego procesu, boty “scrapujące” analizują strony w celu wydobycia określonych informacji i przekształcenia ich w ustrukturyzowany format – takie jak tabele, JSON, bazy danych, czy pliki XML lub CSV.
Podczas gdy web crawling koncentruje się bardziej na analizie struktury sieci, web scraping skupia się na zbieraniu konkretnych danych z wybranych stron.
W sieci często możemy spotkać się z definicją, że web crawling polega na zindeksowaniu stron, ale to nie do końca prawda, ponieważ nie wszystkie boty przeszukujące sieć mają za zadanie indeksować strony.
Kontrowersje wokół web scrapingu
Masowe zbieranie, przechowywanie i analiza danych nie wszystkim koniecznie będzie się kojarzyć dobrze. Wielu z nas było ofiarami wycieku danych z dużych baz lub jest na co dzień nękanych niechcianymi telefonami od telemarketerów, którzy nie wiadomo skąd mają nasze dane.
Sprawdź chociażby nasz wpis na temat niechcianych maili od akwizytorów SEO:
Oferty od spamerów SEO – czyli nie daj się nabrać akwizytorowi
Web scraping powinien zawsze być przeprowadzany z poszanowaniem dla podstawowych zasad, takich jak stosowanie go wyłącznie do legalnych celów, z poszanowaniem praw autorskich i ochrony własności intelektualnej. Nie należy zatem stosować botów do szybkiego pozyskania treści zamieszczanych na blogach i stronach internetowych tylko po to, żeby ten sam content wykorzystać później na naszej witrynie.
Innym kluczowym aspektem, na który należy zwracać uwagę, są dane osobowe. Dane takie jak imiona i nazwiska, adresy, numery telefonów czy adresy e-mail to są już traktowane jako dane osobowe i podlegają tak samo ścisłej ochronie, jak numery kart kredytowych czy dowodów osobistych.
Kontrowersje wokół web scrapingu dotyczą także technicznych aspektów funkcjonowania witryn – pracujące boty są bowiem obciążeniem dla serwerów, na których postawione są strony internetowe. Z tego też powodu wielu administratorów serwisów stara się blokować wszelkiego maści roboty (nie zawsze jednak skutecznie).
Zanim zaczniesz web scraping…
Jeżeli zauważyłeś potencjał web scrapingu i rozważasz wykorzystanie go w swojej firmie, przed rzuceniem się na głęboką wodę warto poświęcić chwilę na zastanowienie się i przemyślenie kilku aspektów. Web scraping to ciągle dość skomplikowane zagadnienie, a brak odpowiedniego przygotowania może sprawić, że tylko stracisz pieniądze i czas.
Zacznij od odpowiedzenia sobie na pytanie, jaki jest Twój cel. Czy chcesz pozyskać nowych klientów, dowiedzieć się więcej o konkurencji, podejmować lepsze decyzje inwestycyjne? Kolejnym pytaniem będzie: co muszę zrobić, aby ten cel osiągnąć? Na przykład jeżeli chciałbyś pozyskać nowych klientów, pierwszym krokiem będzie zatem zdobycie nowych leadów.
Jakie strony chcesz scrape’ować? Warto tutaj pamiętać o kwestiach związanych z legalnością pozyskiwania takich danych. W plikach robots.txt każdej z witryn możesz sprawdzić, czy właściciel witryny przypadkiem nie zabrania tego rodzaju aktywności. Jeżeli interesuje Cię pozyskanie nowych leadów, warto poprzestać na jedynie publicznie dostępnych na social mediach informacjach (bez zalogowania) lub oficjalnych kontaktach na witrynach organizacji.
Ostatnią kwestią są narzędzia, których będziesz używał. Na rynku dostępne są różne gotowe narzędzia, ale musisz poświęcić czas, aby nauczyć się ich obsługi i poznać funkcjonalności. Możesz także spróbować zbudować własnego bota, jeżeli znasz np. Pythona, Javę czy JavaScript.
Dobre praktyki web scrapingu
Na koniec zebraliśmy kilka zasad, którymi warto kierować się podczas pracy z web scrapingiem. Pozwolą one usprawnić Twoją pracę, poprawić jakość zebranych danych i zapewnić zgodność Twoich działań ze wszelkimi standardami, także tymi etycznymi.
Zwróć uwagę na robots.txt
Jak już wcześniej wspomnieliśmy, plik robots.txt może zawierać niezwykle ważne informacje. Powszechnie kojarzony jest on raczej z web crawlingiem, ale strony internetowe używają robots.txt generalnie do zarządzania wszelkiego rodzaju botami. Te pliki zawierają instrukcje dla crawlerów i scraperów co do treści, które mogą być przez nich obejrzane, zindeksowane czy pobrane.
Sprawdź też: Techniczne SEO – co to jest?
Pamiętaj o analizie i weryfikacji danych
Automatyzacja pozyskiwania danych może nas nieźle rozleniwić. Nie jest jednak tak, że dane pozyskane w procesie web scrapingu zawsze są w 100% zgodne z rzeczywistością czy naszymi oczekiwaniami. Surowe dane pozyskane z wielu źródeł jednocześnie będą miały niejednolite formaty, co znacznie utrudni ich zrozumienie, dlatego bardzo ważnym krokiem jest wyeksportowanie ich do pliku CSV, JSON czy podobnego formatu, aby umożliwić pracę z zebranym materiałem.
Ten krok jest często również zautomatyzowany, ale jednak rekomendujemy weryfikację – choćby wyrywkową – zarówno surowego materiału, jak i jednolitych plików, zanim przekażemy dane do dalszej analizy i obróbki. Gdyby okazało się, że pozyskane przez nas właśnie dziesiątki tysięcy rekordów nie są poprawne lub zgodne z oczekiwaniami, lepiej dowiedzieć się o tym wcześniej.
Stań się nieuchwytny
Jak pewnie wiesz, nasza aktywność w Internecie pozostawia rozmaite ślady. Strony internetowe zbierają informacje na temat odwiedzających i wykorzystują je do personalizacji treści, w tym także reklam.
Podobnie dzieje się przy web scrapingu – kiedy próbujesz pozyskać dane ze strony, zostawiasz na niej swój wirtualny odcisk palca. Administrator czy właściciel będą mogli pozyskać takie informacje jak Twój adres IP, rodzaj przeglądarki, systemu operacyjnego itp. Jeżeli z jakiegoś powodu nie spodoba im się to, co robisz, będą mogli zablokować Twój adres IP, przez co stracisz dostęp do strony. Aby się przed tym uchronić, rozważ korzystanie z serwera proxy lub VPN.
Sprawdź, czy strona oferuje wsparcie API
API (Interfejs programowania aplikacji) umożliwia zautomatyzowaną komunikację między różnymi aplikacjami lub systemami. Jeżeli strona oferuje wsparcie API, możesz wykorzystać to do bezpiecznego i efektywnego pozyskiwania danych. Korzystając z API, nie musisz obawiać się, że właściciel strony zablokuje Twoje IP, gdyż dostęp przez API zazwyczaj jest autoryzowany i zgodny z zasadami witryny. Wiele stron oferuje zarówno bezpłatne, jak i płatne wersje swojego API, które można używać do pozyskiwania danych w sposób bardziej zorganizowany niż klasyczny web scraping.
Do czego może się przydać web scraping w SEO?
Tak naprawdę ogranicza nas jedynie nasza wyobraźnia. Dane możemy wykorzystać w SEO przypuszczam na tysiące sposobów. Poniżej zamieszczam trzy sposoby wykorzystywania web-scrapingu, na przykładzie prac w naszej firmie.
- Analiza konkurencji - dzięki web scrapingu można skutecznie analizować działania konkurencji. Można np. zbierać informacje o używanych słowach kluczowych, zawartości ich stron, czy też strukturze linków. Dzięki tym danym jesteśmy w stanie lepiej zrozumieć strategie SEO konkurencji i dostosować własne działania, aby były one bardziej konkurencyjne.
- Zbieranie danych o zmieniających się elementach na stronach konkurencji - web scraping może być nieocenionym narzędziem w monitorowaniu konkurencyjnych stron internetowych. Dzięki niemu można na bieżąco śledzić ruchy konkurencji. Zmiany mogą obejmować np. profil linkowy domeny, nowe podstrony w strukturze, do-optymalizacja konkretnych podstron itd.
- Monitorowanie sieci stron pod względem technicznym - za pomocą web scrapingu można regularnie i hurtowo przeszukiwać wiele stron w poszukiwaniu problemów technicznych, takich jak np. zerwane linki, błędy 404 czy problemy z szybkością ładowania się strony. Dzięki temu można szybko zidentyfikować i rozwiązać potencjalne problemy, zanim wpłyną one negatywnie na ranking w wynikach wyszukiwania.
Podsumowanie
Web scraping zyskuje na popularności nie tylko ze względu na jego oczywiste komercyjne zastosowania, ale także dzięki potencjałowi do wykorzystania go w AI i machine learning. Automatyczne pozyskiwanie i analiza danych z różnych stron internetowych może być niezwykle przydatne, ale nie jest wolne od różnego rodzaju ryzyka. Należy pamiętać o legalnych ograniczeniach związanych z pozyskiwaniem i przechowywaniem danych, nawet jeżeli sam termin web scraping nie jest ujęty w polskiej legislaturze.
Nawet jeżeli nasze działania są w pełni legalne, niektórzy administratorzy stron mogą sobie tego nie życzyć i umieszczać w plikach robots.txt instrukcje dla botów, które mogą znacznie ograniczać rodzaj i ilość danych, które jesteśmy w stanie pozyskać z danej witryny, a w skrajnych wypadkach możemy nawet zostać zablokowani. Aby tego uniknąć, warto korzystać z oficjalnych API, a przynajmniej z proxy lub VPNów, które pomogą nam zachować prywatność.
Właściciel ContentNinja.pl – ponad 10 lat doświadczenia w zarządzaniu komercyjnymi projektami internetowymi. Specjalizuje się w projektowaniu stron internetowych oraz szeroko pojętym SEO. Uwielbia realizować cele biznesowe swoich klientów. Prywatnie pasjonat tenisa ziemnego i nowinek technologicznych.