Wszystkie wpisy

Tarpity w web scrapingu: kto tak naprawdę w nie wpada

Strony internetowe wdrażają tarpity, które łapią crawlery AI i karmią je śmieciowymi danymi. Jednak te pułapki nie odróżniają GPTBot od Twojego skryptu do śledzenia cen.

Strony zastawiają pułapki na crawlery AI

Narzędzie o nazwie Nepenthes zyskało ogromną popularność w sieci na początku 2025 roku. Generuje ono nieskończone labirynty fałszywych stron internetowych, z których każda linkuje do kolejnych fałszywych stron, co ma na celu uwięzienie crawlerów w pętli bez wyjścia. Tekst na tych stronach? Algorytmicznie wygenerowany bełkot, stworzony po to, by zaśmiecić zbiory danych treningowych AI.

Nepenthes nie jest jedyny. Projekty takie jak Locaine i rosnąca lista tarpitów open-source pojawiły się na GitHubie, każdy z tym samym przekazem: jeśli firmy AI nie będą szanować robots.txt, właściciele stron odpowiedzą trucizną.

Taka motywacja ma sens. Badanie akademickie na arXiv wykazało, że blokowanie AI na renomowanych stronach wzrosło z 23% we wrześniu 2023 roku do niemal 60% do maja 2025 roku. Analiza BuzzStream wykazała, że 79% najpopularniejszych serwisów informacyjnych blokuje teraz boty treningowe AI za pomocą robots.txt. Z kolei Cloudflare Radar poinformował, że 75% ruchu sieciowego związanego z AI w połowie 2025 roku było generowane na potrzeby treningowe, a nie wyszukiwania czy wnioskowania.

Jednak tarpity nie sprawdzają uprawnień. Nie pytają, dlaczego pobierasz dane. Łapią wszystko, co wygląda na zautomatyzowane.

Kto tak naprawdę wpada w pułapkę

Zamierzone cele są oczywiste: GPTBot, ClaudeBot, czyli crawlery firm AI zbierające dane z otwartej sieci do celów szkoleniowych. Problem w tym, że tarpity nie potrafią odróżnić crawlera OpenAI od Twojego skryptu do monitorowania cen.

Tarpity wykrywają zautomatyzowane wzorce requestów. Jeśli Twój scraper systematycznie podąża za linkami, odpytuje strony w stałych odstępach czasu lub pomija wykonywanie JavaScript (tak jak działa większość crawlerów trenujących AI), staje się celem. Pułapki nie obchodzi, że jesteś 10-osobowym zespołem e-commerce śledzącym ceny konkurencji. Widzi ruch o charakterystyce bota i zaczyna serwować fałszywe strony.

To nie są tylko teorie. Badania z Rutgers i Wharton wykazały, że strony blokujące crawlery AI odnotowały spadek całkowitego ruchu o 23,1% oraz spadek ruchu ludzkiego o 13,9%. Agresywna postawa blokowania nie tylko zatrzymuje scrapery AI. Szkodzi również widoczności samej witryny.

Co więcej, tarpity idą o krok dalej: aktywnie marnują moc obliczeniową, przestrzeń dyskową i przepustowość crawlera, jednocześnie karmiąc go danymi, które niszczą budowany model lub bazę danych.

Drabina eskalacji

Robots.txt zawsze był umową dżentelmeńską. Działał, gdy wszyscy przestrzegali zasad. Kiedy giganci AI zaczęli go ignorować (lub szukać kreatywnych interpretacji różnicy między "crawlowaniem na potrzeby wyszukiwania" a "crawlowaniem do treningu"), właściciele stron przeszli do eskalacji.

Schemat wygląda następująco:

  1. Blokady w robots.txt: grzeczna prośba
  2. Filtrowanie User-Agent: blokowanie znanych sygnatur crawlerów AI
  3. Detekcja behawioralna: wychwytywanie nieznanych crawlerów po ich wzorcach requestów
  4. Tarpity: aktywne środki zaradcze, które marnują zasoby i zatruwają dane

Każdy krok wyłapuje więcej zagrożeń. Każdy krok odcina też więcej legalnego ruchu. Na czwartym etapie każdy zautomatyzowany dostęp traktujesz jako wrogi. W efekcie scraper zbierający publicznie dostępne ceny produktów dla porównywarki trafia na te same pułapki, co GPTBot pobierający dane bez pozwolenia.

Co zespoły zajmujące się danymi powinny teraz zrobić

Jeśli zbierasz dane na jakąkolwiek skalę, tarpity zmieniają reguły gry. Kilka kwestii ma teraz znacznie większe znaczenie niż dawniej.

Zawsze szanuj robots.txt. Brzmi to banalnie, ale to absolutne minimum. Strony używają robots.txt jako pierwszego filtra. Zignoruj go, a trafisz do tej samej kategorii co boty treningowe AI, które wywołały całą tę falę tarpitów.

Nie wyglądaj jak crawler treningowy. Crawlery szkolące AI mają przewidywalne sygnatury: podążają za każdym linkiem, masowo wysyłają requesty o strony, pomijają JavaScript i zachowują regularne odstępy czasu. Jeśli Twój scraper robi to samo, detekcja behawioralna go oznaczy. Zróżnicuj odstępy czasowe. Ładuj tylko to, czego potrzebujesz. Uruchamiaj JavaScript, gdy strona tego wymaga. O tym, co powoduje blokowanie scraperów, pisaliśmy w artykule Dlaczego Twój scraper ciągle się psuje.

Waliduj przychodzące dane. Tarpity serwują wiarygodnie wyglądające śmieci. Jeśli nie sprawdzasz response'ów w swoim pipeline, możesz zapisywać tekst wygenerowany łańcuchami Markowa jako prawdziwe opisy produktów. Zbuduj walidację jako kluczowy krok, a nie coś robionego na szybko na samym końcu.

Inwestuj w infrastrukturę requestów. Stary zestaw zagrywek (rotacja IP, rozwiązywanie CAPTCHA, ponawianie prób przy błędach) już nie wystarcza. Nowoczesne systemy anty-botowe analizują fingerprinty TLS, zachowanie przeglądarki i wzorce sesji. Inteligentny routing proxy pomaga, ale prawdziwa zmiana polega na przejściu od detekcji na poziomie IP do detekcji na poziomie zachowania. Jeśli scrapujesz strony mocno oparte na JavaScript, zbieranie danych oparte na przeglądarce staje się coraz częściej jedynym niezawodnym podejściem.

Przepaść w dostępie się powiększa

Uważamy, że sieć zmierza w kierunku wyraźnego podziału. Z jednej strony: witryny, które monetyzują dane poprzez płatne umowy o dostęp, partnerstwa API i licencjonowane crawlowanie. Z drugiej strony: witryny, które traktują każdy zautomatyzowany dostęp jako zagrożenie i wdrażają coraz bardziej agresywne środki zaradcze.

Dla zespołów zajmujących się danymi oznacza to, że koszty ich zbierania będą stale rosnąć. Nie dlatego, że technologia jest trudniejsza do stworzenia, ale dlatego, że środowisko staje się bardziej wrogie. Zespoły, które inwestują w odpowiedzialne, transparentne praktyki scrapingu, zachowają dostęp. Te, które wyglądają jak boty treningowe, zostaną uwięzione, zatrute i odcięte.

Tarpity nie znikną. Pytanie dla Twojego zespołu nie brzmi, czy należy się nimi martwić. Brzmi ono: czy Twoja infrastruktura potrafi dostrzec różnicę między prawdziwą stroną a pułapką, zanim te dane trafią do Twojej bazy danych.