ciemne logo proxyscrape

Jak ominąć CAPTCHA podczas skrobania stron internetowych? - 5 prostych kroków

Jak to zrobić, Scraping, styczeń-03-20235 minut czytania

Podczas skrobania danych z witryn internetowych na dużą skalę jest najmniej prawdopodobne, że nie musiałeś stawić czoła CAPTCHA, aby udowodnić, że jesteś człowiekiem. Jako skrobak internetowy możesz już wiedzieć, dlaczego specjaliści od cyberbezpieczeństwa zostali zmuszeni do ich wynalezienia. Były one wynikiem automatyzacji przez boty niekończących się żądań dostępu do stron internetowych. Tak więc nawet prawdziwi użytkownicy musieli przejść przez ból konfrontacji z CAPTCHA, które pojawiają się w różnych formach. Możesz jednak ominąć CAPTCHA, niezależnie od tego, czy jesteś web scraperem, czy nie, co będzie celem tego artykułu. Ale najpierw przyjrzyjmy się, czym są CAPTCHA.

Obejście CAPTCHA do skrobania stron internetowych

CAPTCHA są zwykle uruchamiane w celu wykrycia nienaturalnego ruchu w witrynie. Aby ominąć to ograniczenie, użytkownicy wolą rozwiązanie, które może złamać wszystkie te kody CAPTCHA i uzyskać dostęp do strony internetowej jak prawdziwy człowiek. Jednym z rozwiązań pozwalających ominąć captcha jest Capsolver. Wykorzystanie serwerów proxy w żądaniach internetowych pomoże również użytkownikom wyglądać jak naturalny ruch. 

Co to jest CAPTCHA?

CAPTCHA to skrót od Completely Automated Public Turing Test to tell Computers and Humans Apart. To dość długi akronim, prawda? Teraz możesz się zastanawiać, co oznacza ostatnia część tego akronimu, Test Turinga - cóż, jest to prosty test mający na celu określenie, czy człowiek lub bot wchodzi w interakcję ze stroną internetową lub serwerem internetowym.

W końcu CAPTCHA odróżnia ludzi od botów, pomagając analitykom bezpieczeństwa cybernetycznego chronić serwery internetowe przed atakami siłowymi, DDoS, a w niektórych sytuacjach przed skrobaniem stron internetowych. 

Dowiedzmy się, jak CAPTCHA odróżniają ludzi od botów.

Jak działają CAPTCHA?

CAPTCHA można znaleźć w formularzach na stronie internetowej, w tym w formularzach kontaktowych, rejestracyjnych, komentarzy, rejestracji lub wymeldowania.

Tradycyjne CAPTCHA zawierają obraz z rozciągniętymi lub rozmytymi literami, cyframi lub jednym i drugim w polu z kolorem tła lub przezroczystym tłem. Następnie użytkownik musi zidentyfikować znaki i wpisać je w polu tekstowym. Ten proces identyfikacji znaków jest łatwiejszy dla ludzi, ale nieco skomplikowany dla botów.

Ideą rozmycia lub zniekształcenia tekstu CAPTCHA jest utrudnienie botowi identyfikacji znaków. W przeciwieństwie do tego, ludzie mogą interpretować i przechwytywać znaki w różnych formatach, takich jak różne czcionki, pismo odręczne itp. To powiedziawszy, nie każdy człowiek może rozwiązać CAPTCHA za pierwszym podejściem. Według badań 8% użytkowników popełni błąd przy pierwszej próbie, a 29% nie powiedzie się, jeśli w CAPTCHA rozróżniana jest wielkość liter.

Z drugiej strony, niektóre zaawansowane boty mogą przechwytywać zniekształcone litery z pomocą uczenia maszynowego na przestrzeni lat. W rezultacie niektóre firmy, takie jak Google, zastąpiły konwencjonalne CAPTCHA zaawansowanymi CAPTCHA. Jednym z takich przykładów jest ReCAPTCHA, którą poznasz w następnej sekcji.

Co to jest ReCAPTCHA?

ReCAPTCHA to bezpłatna usługa oferowana przez Google. Prosi użytkowników o zaznaczenie pól zamiast wpisywania tekstu, rozwiązywania zagadek lub równań matematycznych.

Typowa ReCAPTCHA jest bardziej zaawansowana niż konwencjonalne formy CAPTCHA. Wykorzystuje rzeczywiste obrazy i teksty, takie jak sygnalizacja świetlna na ulicach, teksty ze starych gazet i drukowanych książek. W rezultacie użytkownicy nie muszą polegać na oldschoolowych CAPTCHA z rozmytym i zniekształconym tekstem.

Jak działają ReCAPTCHA?

Istnieją trzy istotne rodzaje testów ReCAPTCHA, które weryfikują, czy użytkownik jest człowiekiem:

Pole wyboru

Są to ReCAPTCHA, które proszą użytkowników o zaznaczenie pola wyboru "Nie jestem robotem", jak na powyższym obrazku. Chociaż gołym okiem może się wydawać, że nawet bot mógłby ukończyć ten test, bierze się pod uwagę kilka czynników:

  • Ten test bada ruchy myszy użytkownika zbliżającego się do pola wyboru.
  • Ruchy myszy użytkownika nie są proste, w tym większość bezpośrednich ruchów myszą. Dla bota naśladowanie tego samego zachowania jest wyzwaniem.
  • Wreszcie, ReCAPTCHA sprawdza pliki cookie przechowywane przez przeglądarkę.

Jeśli ReCAPTCHA nie zweryfikuje, że jesteś człowiekiem, przedstawi ci kolejne wyzwanie.

Rozpoznawanie obrazów

Te ReCAPTCHA dostarczają użytkownikom dziewięć lub szesnaście kwadratowych obrazów, jak widać na powyższym obrazku. Każdy kwadrat reprezentuje część większego obrazu lub różne obrazy. Użytkownik musi wybrać kwadraty reprezentujące określone obiekty, zwierzęta, drzewa, pojazdy lub sygnalizację świetlną.

Jeśli wybór użytkownika pasuje do wyborów innych użytkowników, którzy wykonali ten sam test, użytkownik zostaje zweryfikowany. W przeciwnym razie ReCAPTCHA przedstawi trudniejszy test.

Brak interakcji

Czy wiesz, że ReCAPTCHA może zweryfikować, czy jesteś człowiekiem, czy nie, bez użycia pól wyboru lub jakichkolwiek interakcji z użytkownikiem?

Z pewnością robi to, biorąc pod uwagę historię interakcji użytkownika z witrynami internetowymi i ogólne zachowanie użytkownika w Internecie. W większości scenariuszy, na podstawie tych czynników, system byłby w stanie określić, czy użytkownik jest botem.

Jeśli tego nie zrobisz, powrócisz do jednej z dwóch wcześniej wymienionych metod.

Co wywołuje CAPTCHA i ReCAPTCHA?

CAPTCHA mogą być uruchamiane, jeśli witryna wykryje nietypowe działania przypominające zachowanie botów; takie nietypowe zachowanie obejmuje nieograniczoną liczbę żądań w ciągu ułamków sekund i klikanie linków w znacznie wyższym tempie niż ludzie. 

Wtedy niektóre strony internetowe automatycznie miałyby CAPTCHA, aby chronić swoje systemy.

Jeśli chodzi o ReCAPTCHA, nie jest do końca jasne, co je wywołuje. Jednak ogólnymi przyczynami są ruchy myszy, historia przeglądania i śledzenie plików cookie.

Co warto wiedzieć o omijaniu CAPTCHA podczas skrobania stron internetowych?

Teraz masz jasny przegląd tego, czym są CAPTCHA i Rechaptcha, jak działają i co je wyzwala. Teraz nadszedł czas, aby przyjrzeć się, jak CAPTCHA wpływają na skrobanie stron internetowych.

CAPTCHA mogą utrudniać skrobanie sieci, ponieważ zautomatyzowane boty wykonują większość operacji skrobania. Nie należy się jednak zniechęcać. Jak wspomniano na początku tego artykułu, istnieją sposoby na pokonanie CAPTCHA podczas skrobania sieci. Zanim do nich przejdziemy, zwróćmy uwagę na to, czego należy być świadomym przed skrobaniem.

Wysyłanie zbyt wielu żądań do strony docelowej

Przede wszystkim musisz upewnić się, że nie pozwalasz swojemu skrobakowi / robotowi indeksującemu na wysyłanie zbyt wielu żądań w krótkim czasie. Większość witryn internetowych wspomina na swoich stronach z warunkami, ile żądań dopuszcza witryna. Należy się z nimi zapoznać przed rozpoczęciem skrobania.

Nagłówki HTTP

Gdy użytkownik łączy się z witryną internetową, wysyła do niej informacje o swoim urządzeniu. Mogą one wykorzystywać te informacje do dostosowywania treści do specyfikacji urządzenia i śledzenia metryk. Kiedy więc dowiedzą się, że żądania pochodzą z tego samego urządzenia, każde żądanie wysłane później zostanie zablokowane.

Tak więc, jeśli samodzielnie opracowałeś skrobaczkę/przeglądarkę internetową, będziesz w stanie zmienić informacje nagłówka dla każdego żądania, które wykonuje twoja skrobaczka. Wówczas strona docelowa będzie wyglądać tak, jakby otrzymywała wiele żądań z różnych urządzeń. Więcej informacji na temat nagłówków HTTP można znaleźć tutaj .

Adres IP

Innym faktem, o którym powinieneś wiedzieć, jest to, że docelowa witryna nie umieściła twojego adresu IP na czarnej liście. Istnieje prawdopodobieństwo, że umieści ona twój adres IP na czarnej liście, jeśli wyślesz zbyt wiele żądań za pomocą scrapera/crawlera. 

Aby rozwiązać powyższy problem, można skorzystać z serwera proxy, który maskuje adres IP użytkownika. 

Rotacja nagłówków HTTP i serwerów proxy (więcej na ten temat w następnej sekcji) z pulą zapewni, że wiele urządzeń uzyska dostęp do strony internetowej z różnych lokalizacji. Powinieneś więc być w stanie kontynuować skrobanie bez zakłóceń ze strony CAPTCHA. Musisz jednak upewnić się, że w żaden sposób nie szkodzisz wydajności witryny.

Należy jednak pamiętać, że serwery proxy nie pomogą przezwyciężyć CAPTCHA w formularzach rejestracji, zmiany hasła, wymeldowania itp. Mogą jedynie pomóc w przezwyciężeniu przechwytywania, które strony internetowe uruchamiają z powodu zachowania botów. Aby uniknąć CAPTCHA w takich formularzach, przyjrzymy się rozwiązaniom CAPTCHA w nadchodzącej sekcji.

Inne rodzaje CAPTCHA

Oprócz powyższych kluczowych czynników, podczas skrobania stron internetowych za pomocą bota należy znać poniższe CAPTCHA:

Honeypoty -Honeypot będzie rodzajem CAPTCHA zawartym w polu formularza HTML lub linku, ale jego widoczność jest ukryta za pomocą CSS, więc gdy bot wchodzi w interakcję z nim, nieuchronnie zgłasza się jako bot. Zanim więc bot zacznie skrobać zawartość, upewnij się, że właściwości CSS elementu są widoczne.
CAPTCHA słowna / dopasowująca - są to CAPTCHA w równaniach matematycznych, takich jak na przykład rozwiązywanie "3+7". Do rozwiązania mogą być również zagadki słowne.
Logowanie w mediach społecznościowych - niektóre witryny wymagają zalogowania się na przykład za pomocą konta na Facebooku. Nie są one jednak popularne, ponieważ większość administratorów wie, że ludzie niechętnie logowaliby się za pomocą swoich kont w mediach społecznościowych.
Śledzenie czasu -te CAPTCHA monitorują, jak szybko użytkownik wykonuje określoną czynność, taką jak wypełnienie formularza, aby określić, czy jest to człowiek, czy bot.

Jak ominąć CAPTCHA do skrobania stron internetowych

Rotacja serwerów proxy i korzystanie z wysokiej jakości adresów IP

Jak wspomniano w poprzedniej sekcji, należy zmieniać serwery proxy za każdym razem, gdy wysyłasz żądanie do strony docelowej. Jest to jeden ze sposobów na uniknięcie CAPTCHA, które uruchamiają się podczas skrobania. W takich okolicznościach należy korzystać z czystych serwerów proxy IP.
Podczas rotacji serwerów proxy witrynie docelowej trudno byłoby określić ślad IP użytkownika. Dzieje się tak, ponieważ dla każdego żądania wyświetlany jest adres IP serwera proxy, a nie adres IP użytkownika.

Rotacja agentów użytkownika

Ponieważ skrobak będzie używany do skrobania stron internetowych, konieczne będzie ukrycie agenta użytkownika w popularnej przeglądarce internetowej lub obsługiwanych botach, takich jak boty wyszukiwarek, które rozpoznają strony internetowe.

Sama zmiana agenta użytkownika nie będzie wystarczająca, ponieważ będziesz musiał mieć listę ciągów agenta użytkownika, a następnie je obracać. Ta rotacja spowoduje, że strona docelowa będzie postrzegać użytkownika jako inne urządzenie, podczas gdy w rzeczywistości jedno urządzenie wysyła wszystkie żądania.

Najlepszą praktyką na tym etapie byłoby przechowywanie bazy danych prawdziwych agentów użytkownika. Należy również usunąć pliki cookie, gdy nie są już potrzebne.

Usługi rozwiązywania CAPTCHA

Prostszą, mało techniczną metodą rozwiązania CAPTCHA byłoby skorzystanie z usługi rozwiązywania CAPTCHA. Wykorzystują one sztuczną inteligencję (AI), uczenie maszynowe (MI) i kulminację innych technologii do rozwiązywania CAPTCHA.

Niektóre z wiodących rozwiązań CAPTCHA istniejących obecnie w branży to Capsolver i Anti-CAPTCHA.

Jeśli pozwolisz swojemu scraperowi na bezpośredni dostęp do adresu URL co ułamek sekundy, wówczas strona odbierająca będzie podejrzliwa. W rezultacie strona docelowa uruchomi CAPTCHA.

Aby uniknąć takiego scenariusza, można ustawić nagłówek odsyłacza tak, aby wyglądał na odesłany z innej strony. Zmniejszyłoby to prawdopodobieństwo wykrycia bota. Alternatywnie, możesz sprawić, by bot odwiedził inne strony przed odwiedzeniem żądanego linku.

Unikaj honeypotów

Honeypoty to ukryte elementy na stronie internetowej, których eksperci ds. bezpieczeństwa używają do zastawiania pułapek na boty lub intruzów. Chociaż przeglądarka renderuje kod HTML, jego właściwości CSS są ustawione na ukrywanie. Jednakże, w przeciwieństwie do ludzi, kod honeypota byłby widoczny dla botów podczas pobierania danych. W rezultacie wpadły one w pułapkę zastawioną przez honeypota.

Dlatego przed rozpoczęciem skrobania należy upewnić się, że właściwości CSS wszystkich elementów na stronie internetowej nie są ukryte lub niewidoczne. Dopiero po upewnieniu się, że żaden z elementów nie jest ukryty, ustawiamy bota na scraping.

Często zadawane pytania

1. What does bypassing CAPTCHAs for Web Scraping mean?
Omijanie CAPTCHA to po prostu proces usuwania blokad, które pojawiają się podczas pobierania danych z wielu witryn. CAPTCHA mają na celu sprawdzenie, czy ruch internetowy jest organiczny.
2. What is ReCaptcha?
ReCaptcha chroni witryny przed spamem i złośliwym ruchem botów. Generuje interaktywne zagadki, aby odróżnić ruch organiczny od ruchu botów.
3. How will a proxy help users in bypassing Captchas?
W przypadku wysyłania żądań internetowych z powrotem z bota lub dowolnego rozwiązania do skrobania, CAPTCHA mogą łatwo zidentyfikować ruch pochodzący od spamującego bota. Tak więc korzystanie z adresów proxy z serwera proxy pozwoli ci wyglądać bardziej jak ruch w czasie rzeczywistym.

Wnioski

Ten artykuł dałby ci kompleksowe wyobrażenie o tym, jak unikać CAPTCHA podczas skrobania sieci. Unikanie CAPTCHA może być skomplikowanym procesem. Jednak przy użyciu konkretnych technik omówionych w tym artykule można opracować bota w taki sposób, aby uniknąć CAPTCHA.

Mamy nadzieję, że wykorzystasz wszystkie techniki omówione w tym artykule.