Ładowanie
Wiele osób twierdzi że scraping internetowy to nic innego jak kradzież treści zawartych na stronie wskazanej jako źródło. Nic bardziej mylnego! Oczywiście jeżeli późniejsze użycie treści zdobytych tym sposobem będzie niezgodne z prawem, nie jest to legalne. Jednak nie tyle sam scraping co właśnie nieprawidłowe użycie tych treści.
To tak jakby zacytować kogoś, jednak twierdząc jednocześnie że to nasze słowa. Podobnie w przypadku scrapingu sklepu internetowego, po czym wyświetlenie treści tam zawartych jako własnych. Treści takich jak unikalne opisy za stworzenie których dany sklep zapłacił copywriterom.
Sam Web Scraping polega na przygotowaniu odpowiedniego programu. Program ten ma przydzielone odpowiednie zadania przeszukiwania wskazanego miejsca w sieci, w celu odszukania zadanych informacji. Tak dla przykładu, wspomniane na początku produkty zawarte w sklepie internetowym. Wyobraźmy sobie że mamy do przeniesienia kilka tysięcy produktów ze sklepu do jego nowej wersji. W tym przypadku, program ma za zadanie przeszukać sklep w celu pozyskania listy wszystkich produktów, wraz z informacjami:
W momencie funkcjonowania programu, otrzymujemy pełną listę w formacie jaki nam będzie potrzebny. Może być to zarówno gotowa lista tekstowa, gdzie każdy produkt będzie oddzielony umownym znakiem od drugiego. Kolejno, każda wartość w danym produkcie jak tytuł, adres zdjęcia itp. będą oddzielone innym znakiem. Znaki te muszą być tożsame dla tych jakie "zna" druga część programu, w celu rozszyfrowania informacji o produkcie a kolejno "wrzucenie" ich do naszego nowego sklepu.
Oczywiście formy pozyskanych informacji podczas działania scrapera, mogą być różne. Najpopularniejsze rozwiązania to:
Scraper ma po prostu za zadanie przekazać kolejnemu programowi to, czego oczekuje właśnie ten drugi.
Sam scraper nie jest programem nielegalnym. Przecież na tej samej zasadzie działają boty popularnych wyszukiwarek takich jak Google czy Yahoo. W ten sam sposób, odwiedzają nasze strony, pobierają treści na nich zawarte a następnie je analizują pod wieloma kątami. Głównie pod kątem fraz kluczowych pod którymi użytkownicy będą wyszukiwać informacji, właśnie w wynikach wyszukiwania tych wyszukiwarek. To tak jakbyśmy dla zapamiętania zrobili zdjęcie plakatu naszym telefonem, po czym ktoś miałby mieć do nas pretensje że powieliliśmy treść, pomimo że jest to dla naszej wiedzy.
Zatem jak wspomnieliśmy już powyżej, sam scraping danych nie jest niczym nielegalnym.
Bardzo często ludzie którzy dotychczas posiadali podstawowe wersje stron internetowych, gdzie obsługę silnikową wykonywały różne SaaS'y, zlecają transfer takich stron na własne przestrzenie serwerowe. Powodem oczywiście jest np. brak możliwości technologicznych na wykonanie dodatkowych elementów czy zwyczajny rozwój takich projektów. Finalnie okazuje się że transfer kilku tysięcy wpisów blogowych w sposób kopiuj i wklej, będzie bardzo uciążliwy.
W takim przypadku, gdy wpisy nie są nadmiernie skomplikowane, ich struktura kodu jest jednolita, scraping może wcale nie będzie bardzo trudnym. Dzięki temu, już w kilka minut można mieć przygotowany program który pobierze wszystkie wpisy z kodu HTML. Co najciekawsze, w wielu przypadkach da się zautomatyzować taki proces, przez co program może działać sobie w tle i pobierać wszystko samodzielnie.
Oczywiście jak łatwo się domyślić, administratorzy wielu stron mogą starać się o to aby właśnie nasz scraper nie miał możliwości kopiowania treści z ich stron. Stosowane są różne praktyki, zabezpieczenia czy blokady, które mają utrudnić a w zamiarze końcowym uniemożliwić robotom kopiowanie takowych treści.
Równie łatwo można dojść do wniosku że dobrze przygotowane boty takie jak scraper, będą w stanie bez problemu wiele tych zabezpieczeń pominąć i mimo wszystko treści pobrać, wykonując tym samym prawidłowy web scraping.
Sam program typu scraper działa dokładnie tak jak opisane zostało to już powyżej. Jego forma działania nie odbiega od tej, którą zrobilibyśmy ręcznie. Jednak jak da się zauważyć, robi to zdecydowanie szybciej.
Wyobraźmy sobie sytuację że zbieramy dane kontaktowe potencjalnych klientów, którymi są firmy. W sieci jest bardzo wiele katalogów firm, z których możemy sobie takie dane pobrać. W takim przypadku, nasz scraper realizuje program odpowiadający czynnością:
Dokładnie w ten sam sposób działa program. Z tą różnicą że program typu scraper będzie w stanie wykonać kopię danych i ją zapamiętać, przez co nie musi zapisywać od razu tego co znalazł. Może to wykonać dopiero po zakończeniu pętli, którą rozpocznie w momencie otwierania informacji o pierwszej firmie. Kolejno, pętla wróci do tego samego miejsca i będzie wykonywana do momentu aż skończą się firmy na liście otwartej dzięki katalogowi firm.
Jeśli szukasz firmy zajmującej się web scrapingiem, zapraszamy do nas! Posiadamy wieloletnie doświadczenie w programowaniu autorskich rozwiązań! Dzięki temu, jesteśmy w stanie napisać program w formie web scrapingu, pod niemal każde rozwiązanie.
Mateusz Ratajczak