Jak ominąć Google CAPTCHA za pomocą Selenium i Pythona?

Jak ominąć Google CAPTCHA używając Selenium i Pythona?

Kiedy próbuję coś zeskrobać, Google daje mi CAPTCHA. Czy mogę ominąć Google CAPTCHA za pomocą Selenium Python?

Jako przykład, to Google reCAPTCHA . Możesz zobaczyć ten CAPTCHA pod tym linkiem: https://www.google.com/recaptcha/api2/demo

Author: Peter Mortensen, 2019-11-15

2 answers

Aby rozpocząć korzystanie z klientów Selenium S Python , Należy unikać rozwiązywania/pomijania Google CAPTCHA .


Selen

Selenium automatyzuje przeglądarki. Teraz to, co chcesz osiągnąć dzięki tej mocy, zależy wyłącznie od osób fizycznych, ale przede wszystkim jest to automatyzacja aplikacji internetowych za pośrednictwem klientów przeglądarek w celach testowych i z pewnością nie ogranicza się do tego.


CAPTCHA

Z drugiej strony, CAPTCHA (akronim ...Całkowicie zautomatyzowany publiczny test Turinga odróżniający Komputery od ludzi...) jest rodzajem testu challenge-response używanego w informatyce do określenia, czy użytkownik jest człowiekiem.

Tak więc, selen i CAPTCHA służą dwóm zupełnie różnym celom i idealnie nie powinny być używane do realizacji powiązanych ze sobą zadań.

ReCAPTCHA może łatwo wykryć ruch sieciowy i zidentyfikować twój program jako selen napędzany bot.

Rozwiązanie Ogólne

Istnieją jednak pewne ogólne metody, które pozwalają uniknąć wykrycia podczas skrobania stron internetowych:]}

This use case

Jednak w kilku przypadkach udało nam się wejść w interakcję z reCAPTCHA za pomocą selenu i więcej szczegółów można znaleźć w następujących dyskusjach:


Referencje

Możesz znaleźć kilka powiązanych dyskusji w:


Tl; dr

 24
Author: DebanjanB,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-02-06 13:15:48

Aby ominąć CAPTCHA podczas skrobania Google, musisz ręcznie rozwiązać CAPTCHA i wyeksportować pliki cookie, które daje Ci Google. Teraz za każdym razem, gdy otwierasz Selenium WebDriver, upewnij się, że dodajesz wyeksportowane pliki cookie. Plik cookie GOOGLE_ABUSE_EXEMPTION jest tym, którego szukasz, ale chciałbym zapisać wszystkie pliki cookie, aby być na bezpiecznej stronie.

Jeśli chcesz uzyskać dodatkową warstwę stabilności w swoich zadrapaniach, powinieneś wyeksportować kilka ciasteczek i niech twój skrypt losowo wybierze jeden z nich za każdym razem, gdy ping Google.

Te pliki cookie mają długą datę ważności, więc nie musisz codziennie otrzymywać nowych plików cookie.

Aby uzyskać pomoc w zapisywaniu i ładowaniu plików cookie w Pythonie i Selenium, powinieneś sprawdzić tę odpowiedź: Jak zapisywać i ładować pliki cookie za pomocą Python + Selenium WebDriver

 10
Author: Haddock-san,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-02-06 13:20:15