• Technologia

Jak gromadzić dane internetowe na dużą skalę bez ryzyka zablokowania

  • Valentin Ghita
  • 6 min read

Wprowadzenie

Twój scraper działa bez zarzutu na kilkuset stronach. Skieruj go na kilkaset tysięcy, a połowa twoich żądań zakończy się kodami 403, CAPTCHA lub pustymi stronami. Parser nie zawiódł. Witryna zauważyła, że twój ruch nie zachowuje się jak ruch generowany przez człowieka, i zaczęła się bronić.

Zbieranie danych na dużą skalę to przede wszystkim gra polegająca na tym, by nie rzucać się w oczy. Każda witryna, z której warto zbierać dane, stosuje jakąś formę wykrywania botów, a każde dodatkowe żądanie to kolejna szansa na to, że zostaniesz oznaczony. Można temu zapobiec, dobrze opanowując podstawy: odpowiednie serwery proxy do scrapingu, rozsądne rozłożenie żądań, żądania, które wyglądają jak pochodzące z prawdziwej przeglądarki, oraz plan na wypadek, gdyby strona zaczęła się bronić. W tym artykule opisano, jak faktycznie dochodzi do blokad i jak zbudować proces, który będzie nadal pobierał dane bez uruchamiania wszystkich alarmów.

Dlaczego strony blokują automatyczne zbieranie danych

Witryny nie blokują scraperów tylko po to, by utrudniać życie. Blokują je, ponieważ ruch generowany przez scraperów kosztuje je pieniądze i ujawnia dane, które wolałyby zachować dla siebie. Jeden agresywny scraper może wysyłać tysiące żądań na minutę, obciążając serwery i zniekształcając dane analityczne. Ceny, listy produktów i recenzje to dokładnie to, czego pragną konkurenci, więc witryny posiadające te dane bronią ich najzacieklej. Załóż, że Twoja witryna docelowa już przygotowała się na osoby takie jak Ty.

Jak działają systemy blokujące

Blokowanie rzadko opiera się na jednej regule. Większość systemów obronnych prowadzi bieżącą ocenę każdego odwiedzającego, a przekroczenie granicy skutkuje CAPTCHA lub zamkniętymi drzwiami. Ocena ta odpowiada na trzy pytania: kim jesteś, jak szybko działasz i jak wyglądasz z bliska.

To, kim jesteś, to reputacja adresu IP: znany zakres centrum danych lub adres, który wcześniej wykazywał nieprawidłowe zachowanie, od początku ma na koncie punkty ujemne. To, jak szybko się poruszasz, to częstotliwość żądań. To, jak wyglądasz, to twój „odcisk palca” – wysyłane nagłówki oraz protokół TLS, które zdradzają, czy żądanie pochodzi z prawdziwej przeglądarki, czy z samego skryptu.

Cloudflare i Akamai łączą wszystkie trzy czynniki w wynik na żywo dla każdego żądania. To właśnie dlatego jeden scraper płynnie przechodzi przez małą witrynę, a uderza w ścianę na chronionej witrynie, na której działa ten sam kod.

Budowanie puli serwerów proxy w celu skalowania

Zacznij od tego, kim jesteś, ponieważ jeden adres IP nie jest w stanie obsłużyć dużego zadania. Wyślij sto tysięcy żądań z jednego adresu, a szybko uruchomisz kontrolę reputacji. Pula rozkłada to obciążenie na wiele adresów IP, dzięki czemu żaden z nich nie wyróżnia się – to podstawowa warstwa każdej konfiguracji gromadzenia danych na dużą skalę. Wybrane tutaj serwery proxy do scrapingu stron internetowych wyznaczają pułap dla wszystkich dalszych działań.

Building a proxy pool for scale

W przypadku witryn o słabej ochronie lub bez niej ciężar pracy przejmują adresy IP z centrów danych: są tanie, szybkie i dostępne w dużych ilościach. Do zadań wymagających dużej przepustowości potrzebne są adresy IP z centrów danych przeznaczone do gromadzenia danych na dużą skalę, a nie kilka współdzielonych adresów, które wyczerpują się w ciągu jednego dnia. Haczyk polega na tym, że łatwo je wykryć. Według TorchProxies (2026) serwery proxy z centrów danych osiągają skuteczność na poziomie 60–90 procent w przypadku niezabezpieczonych celów, a następnie spada ona do 20–40 procent w przypadku systemów zarządzania botami Cloudflare lub Akamai.

Poznaj Ranktracker

Platforma "wszystko w jednym" dla skutecznego SEO

Za każdym udanym biznesem stoi silna kampania SEO. Ale z niezliczonych narzędzi optymalizacji i technik tam do wyboru, może być trudno wiedzieć, gdzie zacząć. Cóż, nie obawiaj się więcej, ponieważ mam właśnie coś, co może pomóc. Przedstawiamy Ranktracker - platformę all-in-one dla skutecznego SEO.

W końcu otworzyliśmy rejestrację do Ranktrackera całkowicie za darmo!

Załóż darmowe konto

Lub Zaloguj się używając swoich danych uwierzytelniających

Obliczanie liczby adresów to prosta arytmetyka: jeśli strona toleruje około 10 żądań na adres IP na minutę, a potrzebujesz 6 000, to daje to co najmniej 600 czystych adresów IP plus rezerwę na te, które zostaną oznaczone.

Logika rozłożenia żądań i rotacji

Następną kwestią jest tempo działania. Rotacja decyduje, który adres IP obsługuje poszczególne żądania; rozłożenie decyduje o odstępach między nimi.

Request pacing and rotation logic

Rotacja na żądanie przypisuje każdemu wywołaniu nowy adres IP, co sprawdza się w przypadku operacji bezstanowych, takich jak niezależne strony produktów. Sesje przypisane (sticky sessions) utrzymują jeden adres IP przez cały ciąg powiązanych żądań; jest to potrzebne, gdy witryna śledzi sesję, np. podczas realizacji transakcji.

Tempo decyduje o tym, czy podczas scrapowania uda się uniknąć blokad, czy też natrafi się na nie. Należy losowo zmieniać opóźnienie między żądaniami, ponieważ stała przerwa wynosząca 200 ms sama w sobie stanowi sygnał wskazujący na obecność bota. Należy ograniczyć częstotliwość na jeden adres IP i dodać wykładniczy backoff, tak aby błędy powodowały spowolnienie zamiast forsowania żądań. Powyższy wykres pokazuje dlaczego: wskaźnik blokad utrzymuje się na poziomie bliskim zeru, dopóki nie przekroczy się tolerancji celu, a następnie gwałtownie wzrasta. Przewodnik Ranktrackera po scrapingu stron internetowych dla narzędzi SEO pokazuje, w jaki sposób ten sam rozkład żądań zapewnia dokładność narzędzia do śledzenia pozycji w wynikach wyszukiwania.

Nagłówki i odciski palców

Na koniec pozostaje kwestia tego, jak wyglądasz. Nawet czyste adresy IP wysyłające żądania w rozsądnym tempie nadal mogą zostać wykryte, jeśli same żądania krzyczą „skrypt”. Każde żądanie zawiera nagłówki i odcisk palca TLS, a system wykrywania porównuje oba te elementy z prawdziwą przeglądarką.

Zacznij od User-Agent, ale nie poprzestawaj na tym. Prawdziwa przeglądarka wysyła pasujący zestaw nagłówków Accept, Accept-Language i Accept-Encoding w spójnej kolejności, a żądanie, które je pomija lub zmienia tę kolejność, rzuca się w oczy. U podstaw leży uzgodnienie TLS, sprowadzone do odcisku palca JA3. Klient w języku Python i przeglądarka Chrome nawiązują połączenie w różny sposób, nawet jeśli ich widoczne nagłówki są identyczne, dlatego zaawansowane systemy antybotowe analizują ten proces, aby wykrywać programy zbierające dane, które tylko pozornie udają przeglądarkę. Spraw, aby każde żądanie od początku do końca wyglądało jak żądanie wysłane przez przeglądarkę.

Radzenie sobie z CAPTCHA i blokadami miękkimi

Nie każda blokada sygnalizuje się wyraźnie. Twarda blokada jest oczywista: ekran CAPTCHA lub kod 403. Miękka blokada jest ukryta. Witryna zwraca kod 200, ale treść jest ograniczana, przerzedzana lub naszpikowana błędnymi danymi, mającymi na celu zepsucie Twojego zbioru danych bez Twojej wiedzy.

Wykrywanie to priorytet. Oznaczaj odpowiedzi, które są podejrzanie małe lub identyczne na stronach, które powinny się różnić, i traktuj je jako niepowodzenia, nawet jeśli status wskazuje na sukces. Złe dane wejściowe psują wszystko, co na nich opiera się, więc kontrola jakości danych jest równie ważna jak sam dostęp. Przewodnik Ranktrackera po dokładnym śledzeniu pozycji pokazuje, jak zakłócone dane wejściowe niszczą wyniki, które raportujesz.

Poznaj Ranktracker

Platforma "wszystko w jednym" dla skutecznego SEO

Za każdym udanym biznesem stoi silna kampania SEO. Ale z niezliczonych narzędzi optymalizacji i technik tam do wyboru, może być trudno wiedzieć, gdzie zacząć. Cóż, nie obawiaj się więcej, ponieważ mam właśnie coś, co może pomóc. Przedstawiamy Ranktracker - platformę all-in-one dla skutecznego SEO.

W końcu otworzyliśmy rejestrację do Ranktrackera całkowicie za darmo!

Załóż darmowe konto

Lub Zaloguj się używając swoich danych uwierzytelniających

Gdy pojawiają się CAPTCHA, istnieją usługi pomagające je rozwiązywać, ale tańszym rozwiązaniem jest działanie u źródła: spowolnij tempo, zwiększ rotację, oczyść odcisk palca, a przestaniesz otrzymywać te wyzwania.

Kiedy przejść na klasę rezydencjalną

Czasami sam poziom adresów IP stanowi ograniczenie. Gdy systemy zarządzania botami nieustannie blokują pulę adresów z centrum danych, niezależnie od tego, jak dobrze rozłożysz i zamaskujesz ruch, jest to sygnał, że należy przejść na wyższy poziom.

Poznaj Ranktracker

Platforma "wszystko w jednym" dla skutecznego SEO

Za każdym udanym biznesem stoi silna kampania SEO. Ale z niezliczonych narzędzi optymalizacji i technik tam do wyboru, może być trudno wiedzieć, gdzie zacząć. Cóż, nie obawiaj się więcej, ponieważ mam właśnie coś, co może pomóc. Przedstawiamy Ranktracker - platformę all-in-one dla skutecznego SEO.

W końcu otworzyliśmy rejestrację do Ranktrackera całkowicie za darmo!

Załóż darmowe konto

Lub Zaloguj się używając swoich danych uwierzytelniających

Adresy IP z sieci domowych pochodzą z prawdziwych urządzeń domowych, dzięki czemu cieszą się zaufaniem, którego zakresy adresów z centrów danych nigdy nie zyskają. W przypadku upartych celów przejście na rotujące adresy IP z sieci domowych zapewnia ruch, który wygląda jak zwykli użytkownicy domowi, omijając filtry odrzucające adresy centrów danych już na pierwszy rzut oka.

Ceną za to jest prędkość i pieniądze. Według ProxyWing proxy z centrów danych działają od 3 do 10 razy szybciej – około poniżej 200 ms w porównaniu z 500 ms do 2 sekund w przypadku adresów prywatnych. Przy milionach żądań sumuje się to, więc warto stosować warstwowe podejście: zachowaj adresy z centrów danych jako domyślne i kieruj na adresy prywatne tylko te żądania, które zostały zablokowane.

When to escalate to residential

Klasycznym przykładem są wyniki wyszukiwania. Jeśli zbierasz dane z SERP-ów, aby zasilić narzędzie takie jak SERP Checker firmy Ranktracker, najtrudniejsze strony często zmuszają cię do korzystania z serwerów domowych.

Przetestuj na jednym celu przed skalowaniem

Zanim skierujesz scraper na pełną listę celów, przetestuj go na jednej chronionej witrynie i obserwuj kody odpowiedzi. Zacznij od małej puli serwerów w centrum danych, ustalaj tempo ostrożnie, a następnie zwiększaj częstotliwość, aż pojawią się blokady, po czym cofnij się do ostatniego poziomu, na którym nie wystąpiły problemy. Ta liczba stanowi limit na jeden adres IP i określa wielkość puli dla całego zadania. Dopasuj proxy do scrapingu stron internetowych i tempo wysyłania żądań na jednej witrynie, a ta sama konfiguracja będzie działać na pozostałych.

Często zadawane pytania

Ile serwerów proxy potrzebuję do scrapowania na dużą skalę?

To zależy od tolerancji serwisu docelowego i Twojej przepustowości. Oblicz, ile żądań na minutę wytrzyma jeden adres IP, zanim zostanie zablokowany, podziel docelową szybkość przez tę liczbę, a następnie dodaj bufor. Potrzebujesz 6 000 żądań na minutę w przypadku serwisu, który toleruje 10 żądań na adres IP? To ponad 600 czystych adresów IP, a nie garstka przepracowanych na śmierć.

Które proxy są lepsze do scrapingu stron internetowych: serwerowe czy domowe?

Żadne z nich nie wygrywa jednoznacznie. Serwery proxy z centrów danych są szybsze i tańsze oraz dobrze radzą sobie z niezabezpieczonymi witrynami. Serwery proxy rezydencjalne są wolniejsze i droższe, ale radzą sobie z rygorystycznym zarządzaniem botami. Większość procesów wykorzystuje oba rodzaje, domyślnie korzystając z serwerów z centrów danych, a przechodząc na serwery rezydencjalne tylko wtedy, gdy blokady tego wymagają.

Dlaczego nadal jestem blokowany, nawet korzystając z serwerów proxy?

Zazwyczaj przyczyną są ograniczenia przepustowości lub identyfikacja śladów, a nie same adresy IP. Nawet jeśli korzystasz z dużej puli adresów, ale wysyłasz żądania z prędkością maszynową przy użyciu domyślnych nagłówków, wzorzec działania nadal będzie widoczny. Zwolnij tempo, stosuj losowość i postaraj się najpierw wyglądać jak przeglądarka.

Czy pobieranie danych publicznych jest dozwolone?

Jest to szara strefa prawna, która zmienia się w zależności od jurysdykcji i warunków korzystania z serwisu. Trzymaj się danych publicznie dostępnych, przestrzegaj pliku robots.txt tam, gdzie to możliwe, nie sięgaj po dane osobowe i zasięgnij porady prawnej przed każdym dużym pobraniem danych w celach komercyjnych.

Valentin Ghita

Valentin Ghita

technical writing

handles technical writing, marketing, and research at Anonymous Proxies (anonymous-proxies.net). He writes about proxies, web data, and the technical side of digital marketing.

Zacznij używać Ranktrackera... Za darmo!

Dowiedz się, co powstrzymuje Twoją witrynę przed zajęciem miejsca w rankingu.

Załóż darmowe konto

Lub Zaloguj się używając swoich danych uwierzytelniających

Different views of Ranktracker app