Co to są web scraping i web crawler?

Co to są web scraping i web crawler?

Czy kiedykolwiek chciałeś porównać ceny produktu z różnych stron jednocześnie? A może wyodrębnić opinie odnośnie jakiejś usługi znalezione w Internecie? W tym celu przydatna może okazać się czynność, jaką jest web scraping (inaczej zwana data scraping, z ang. przeszukiwanie sieci lub danych). Najogólniej ujmując, pojęcie to odnosi się do przekopywania stron internetowych, monitorowania ich i wyodrębniania przydatnych informacji wszelkiej maści. Do czego szczególnie przydaje się web scraping, w jakich sytuacjach można go wykorzystać i jakie są jego odmiany? Czym jest web crawler i do czego jest potrzebny w kontekście web scrapingu? 

Co to jest web scraping?

Web scraping to proces automatycznego wydobywania treści i danych ze stron internetowych za pomocą specjalnie do tego przygotowanego oprogramowania. Za jego pomocą można pozyskiwać informacje, takie jak tekst, obrazy, dane tabelaryczne, rynkowe, adresy e-mail i inne. Wszystko to, do czego zaprogramujemy robota, czyli tzw. web crawlera. Przykładowo, większość serwisów do porównywania cen używa web crawlerów do odczytywania informacji o cenach z wielu sklepów internetowych (sprawdź: Jak założyć sklep internetowy?) w celu stworzenia rankingu (nazywane jest to wtedy price scrapingiem, z ang. przeszukiwaniem cen). Innym przykładem może być wyszukiwarka Google, która za pomocą web crawlera Googlebot rutynowo przeszukuje i indeksuje strony internetowe oraz znajdujące się na nich treści. 

Web scraping (data scraping) może być stosowany w celach marketingowych, badawczych, naukowych, do pozyskiwania danych rynkowych, czy do badania konkurencji. Narzędzia do web scrapingu pozwalają na automatyzację procesu pozyskiwania danych, co przyspiesza i ułatwia ich gromadzenie. Zbieranie danych polega często na importowaniu informacji ze stron internetowych do arkuszy kalkulacyjnych lub pliku zapisywanego na komputerze. Jest to jeden z najskuteczniejszych sposobów na pozyskiwanie danych z sieci. 

Web scraping a Python i JavaScript

Jednym z najpopularniejszych języków programowania, w którym koduje się web crawlery jest Python. Język ten oferuje wiele narzędzi i bibliotek (np. Beautiful Soup czy Scrapy) umożliwiających łatwe i efektywne pobieranie danych z witryn internetowych. Dane zbierane przez takie web crawlery zapisywane są w różnych formatach, np. w formie plików CSV lub JSON. 

Niestety, ale niekiedy możemy natknąć się na strony internetowe wykorzystujące technologię JavaScript. W tym przypadku, web scraping (data scraping) może być bardzo utrudniony lub po prostu wymagać innej metodyki, a to wszystko przez dynamiczne ładowanie się treści na witrynie. Takie formatowanie treści oznacza, że nie są one dostępne w kodzie źródłowym strony. Istnieją jednak rozwiązania pozwalające na web scraping stron internetowych wykorzystujących JavaScript, jednym z nich jest Selenium. Jest to framework (platforma programistyczna) z otwartym kodem źródłowym, przeznaczony do badania oraz testowania aplikacji i stron internetowych. Selenium umożliwia pobieranie danych z elementów strony generowanych dynamicznie przez JavaScript na witrynie. 

Innymi narzędziami do web scrapingu stron internetowych wykorzystujących JavaScript są np. Puppeteer i Cheerio. Obydwa są bibliotekami Node.js. Należy jednak pamiętać, że web scraping stron wykorzystujących z JavaScript niemal zawsze jest utrudniony, a dane trudne w interpretacji. 

Czy web scraping jest legalny?

Legalność web scrapingu w dużej mierze zależy od tego, jakie dane pozyskujesz i w jakim celu. Odpowiedź zatem brzmi: tak i nie. Ogólnie rzecz ujmując, web scraping może naruszać prawa autorskie i zasady prywatności w zależności od kraju, w którym pozyskujemy dane. Web scraping teoretycznie jest tylko narzędziem do automatyzacji tego, co ludzie mogą pozyskać ręcznie. Samo narzędzie zatem nie jest ani legalne, ani nielegalne, ale cele użycia zależą od interpretacji prawnej. Ważną kwestią jest temat etyki w stosunku do web scrapingu. Obowiązujące przepisy RODO z pewnością zabraniają pobierania wrażliwych danych osobowych i naruszania prywatności innych użytkowników internetu. Dlatego przed korzystaniem z web crawlera, z pewnością powinniśmy zasięgnąć rady prawnika. 

Niektóre witryny internetowe zabraniają web scrapingu lub wymagają odpowiedniej zgody na pobieranie danych, dlatego tym bardziej należy zawsze upewnić się, że działania które podejmujemy są zgodne z obowiązującym w danym kraju prawem. Na wstępie odpowiedz sobie na pytania: 

  • Czy zamierzasz wykorzystywać dane osobowe?
  • Czy zamierzasz wykorzystywać dane niepubliczne?
  • Czy zamierzasz wykorzystywać dane chronione prawem autorskim? 

Co to jest web crawler? 

Pojęcie to przewija się już parę razy w powyższej treści. Web crawler, zwany również jako robot indeksujący, spider website crawler, web spider, web robot, jest programem lub zautomatyzowanym skryptem, który metodycznie bada i przeszukuje strony internetowe.

Przykładowo, rola robota indeksującego wyszukiwarki (np. Google) jest bardzo podobna do osoby, która organizuje całą bibliotekę i tworzy łatwy do sprawdzenia katalog wszystkich książek, aby łatwo było je znaleźć. Podobnie web crawlery organizują strony internetowe w sieci, wyszukiwarce (w zależności od celu i tego, czyj jest bot)  i wyświetlają odpowiedzi na w zależności tego, jakie zapytanie wpisze dana osoba. Googlebot na podstawie pytania, podsuwa linki do witryn, na której najpewniej znajdziesz odpowiedź. 

Innymi słowy, web crawlery to zaprogramowane roboty, które wykonują zdanie np. web scrapingu, indeksacji treści. Można ich również używać do automatyzacji zadań konserwacyjnych na stronie internetowej, takich jak sprawdzanie poprawności linków lub zgodności kodu HTML. Niestety, istnieją również web crawlery, które mają bardziej złowrogie zamiary, takie jak zbieranie adresów e-mail w celu dodawania do list mailingowych i spamowania lub tworzenie niechcianych komentarzy pod artykułami lub do formularzy kontaktowych.

Co to jest content scraping i czy można wykorzystać go do SEO?

Content scraping to jedna z odmian web scrapingu, gdzie wyróżnić można jeszcze np. screen scraping, price scraping i inne. Jest to praktyka polegająca na automatycznym kopiowaniu treści z obcych witryn i publikowaniu ich na własnej lub w innym miejscu w Internecie. Programuje się więc web crawlery do przeszukiwania wyłącznie tekstu.

Niestety, ale content scraping w większości przypadków, a nawet prawie zawsze jest niezgodny z prawem i zdecydowanie zabrania się jego stosowania w kontekście pozycjonowania stron internetowych. Co prawda niektórzy wykorzystują content scraping do ulepszania treści konkurencji w celu lepszej optymalizacji swojej witryny, ale nie oznacza to, że jest to proces legalny i zalecany. Kopiowanie czyichś treści, czy nawet ich częściowa redakcja jest łamaniem praw autorskich i naruszeniem prawa własności intelektualnej. Bez zgody właściciela tekstów, content scraping najczęściej może skutkować poważnymi konsekwencjami prawno-finansowymi. 

Optymalizacja strony internetowej pod pozycjonowanie opiera się na wdrażaniu na witrynę UNIKALNYCH (nie skopiowanych) treści zawierających frazy kluczowe. Oznacza to, że kopiowanie treści z innych domen jest praktyką niewskazaną i często bardzo szybko zauważoną przez Googlebota, co skutkować może nałożeniem bana, a tym samym spadkiem liczby wyświetleń strony, a w najgorszej sytuacji, usunięciem podstrony lub całej domeny z indeksu wyszukiwarki. 

Natomiast stając się ofiarą content scrapingu, możemy być narażeni na szereg problemów nie tylko związanych z widocznością naszej strony internetowej. Złodziej może stworzyć fałszywą witrynę, bliźniaczą do naszej, z taką samą treścią i np. podobną nazwą domeny. Dzięki temu może wejść w posiadanie danych Twoich klientów, czyli osób, które myślą, że są Twoimi klientami, co doprowadzić może do kradzieży tożsamości. Kolejnym krokiem może okazać się masowa wysyłka maili typu phishing do pozyskanych nielegalną drogą e-maili w celu wyłudzenia jeszcze większej liczby wrażliwych danych (karty kredytowe, loginy, hasła). Content scraping jest szczególnie niebezpieczne dla firm inwestujących dużo czasu i pieniędzy w  tworzenie treści dających im przewagę nad konkurencją. 

Jak poprawnie korzystać z web scrapingu?

Podsumowując, web scraping jest niezwykle przydatnym narzędziem umożliwiającym pozyskiwanie informacji z sieci w automatyczny i często skuteczny sposób. Jednakże, należy pamiętać, że stosowanie web crawlerów powinno odbywać się zgodnie z prawem oraz z zachowaniem etyki, tym samym nie powinno się łamać zasad prywatności ani naruszać własności intelektualnej. Właściwe wykorzystanie web scrapingu może przynieść korzyści zarówno w biznesie, jak i w badaniach naukowych czy analizie danych, konkurencji i trendów rynkowych. Jeśli chcesz dowiedzieć się więcej na temat tego, jak prawidłowo korzystać z treści znajdujących się w Internecie w kontekście prawnym, więcej informacji na ten temat znajdziesz np. na stronie https://www.parp.gov.pl/component/content/article/83315:web-scraping-jak-prawidlowo-korzystac-z-tresci-dostepnych-w-internecie

Katarzyna Cieślik
Specjalistka ds. SEO