Autor:05.07.2024
Web Scraping to technika automatycznego zbierania danych z internetu. Czasami spotyka się określenie Data Scraping, które znaczy mniej więcej to samo.
W praktyce polega to na użyciu specjalnych programów, które przeszukują zawartość strony internetowych i pobierają z nich interesujące nas dane. Te dane są potem automatycznie zapisywane do bazy danych czy arkusza kalkulacyjnego.
Tej techniki używamy do analizowania danych zebranych z różnych źródeł. Popatrz na przykładowe zastosowania.
Sklepy internetowe używają scrapingu aby śledzić ceny produktów u konkurencji.
Firmy rozwijające mechanizmy AI, często zbierają duże ilości danych niezbędnych do trenowania modeli.
Portale agregujące treści automatycznie zbierają treści z różnych serwisów.
Firmy często używają scrapingu do zbierania profili potencjalnych kandydatów do pracy.
Firmy zajmujące się budowaniem wizerunku używają scrapingu aby monitorować wszelkie wzmianki czy opinie na temat danej marki.
Web scraping, jeśli jest używany etycznie i zgodnie z prawem, może być potężnym narzędziem do zbierania informacji.
Temat legalności tej praktyki jest złożony. W różnych krajach mamy różne uwarunkowania prawne. Warto zwracać uwagę na poniższe aspekty.
Większość stron i serwisów internetowych ma swoje warunki użytkowania (Terms of Service), które nieraz wyraźnie zakazują automatycznego zbierania danych. Naruszenie tego zakazu może mieć konsekwencje prawne.
Treści chronione prawami autorskimi, zazwyczaj będą wymagały zgody właściciela.
Zbieranie danych osobowych może naruszać przepisy dotyczące prywatności np. RODO (GDPR) w Unii Europejskiej.
Jak widać, temat jest złożony. W pełni legalny scrapping wymaga uwzględnienia powyższych czynników
Technikę web scrapingu można by opisać w kilku prostych krokach.
1. Wybierz stronę, z której chcesz pobierać dane.
2. Użyj odpowiedniego narzędzia, które wyśle żądanie do strony i pobierze z niej kod HTML.
3. Przeanalizuj kod HTML i znajdź w nim te dane, które cię interesują (np. ceny produktów albo profile użytkowników).
4. Użyj odpowiedniego narzędzia, aby z kodu wyciągnąć te dane.
5. Zapisz dane do bazy.
W praktyce potrzebujesz więc pewnych narzędzi, o czym zresztą opowiemy za chwilę.
Web scraping to technika programistyczna - zazwyczaj musisz napisać prosty program, który wyciąga dane ze strony. W poniższej tabelce przedstawiliśmy rozwiązania dla kilku popularnych języków.
Python | requests |
R | rvest |
JavaScript | puppeteer |
PHP | Goutte |
To tylko wybrane przykłady - wiele popularnych języków posiada dedykowane biblioteki do scrapingu. Jeśli chcesz dowiedzieć się, jak rozpocząć przygodę z web scraping w Python - przeczytaj ten artykuł.
Z jednej strony, chcemy czasem pobrać dane z innych witryn. Z drugiej strony, nieraz chcemy zabezpieczyć naszą własną stronę, przed automatycznym pobieraniem treści. Tutaj pojawia się konflikt interesów.
Jeśli chcesz podjąć działania, które ograniczą możliwość użycia scrapingu, to rozważ następujące rozwiązania.
CAPTCHA - narzędzie zabezpieczające formularze przed botami oraz innymi narzędziami automatycznymi.
Blokowanie adresów IP, które wysyłają za dużo żądań do Twojej strony.
Blokowanie dostępu do treści, tak aby tylko zalogowani użytkownicy mieli do niej dostęp.
Jasne określenia zasad w regulaminie strony. Wyraźnie zabronić scrapingu i mieć możliwość podjęcia kroków prawnych wobec osób łamiących ten zakaz.
Monitorowanie ruchu na stronie i użycie narzędzi, które blokują podejrzane zachowania.
W praktyce takie zabezpieczenia to kombinacja elementów prawnych oraz technicznych. Całkowite zablokowanie scrapingu może być bardzo trudne - warto więc rozważyć czy jest to warte dodatkowego wysiłku oraz kosztów
Web scraping to technika automatycznego zbierania danych z internetu przy użyciu specjalnych programów. Legalność scrapingu jest złożona i zależy od przepisów prawa oraz warunków użytkowania stron internetowych. Aby chronić swoją stronę przed scrapingiem, można zastosować różne zabezpieczenia techniczne i prawne, choć całkowite wyeliminowanie scrapingu może być trudne i kosztowne.