Join And Get Free Trial!

So lösen Sie Recaptcha beim Web Scraping im Jahr 2024 mit dem Recaptcha-Solver#

logoNextCaptcha
May 20,2024

reCAPTCHA Übersicht#

reCAPTCHA ist ein kostenloser Dienst von Google, der Websites vor Spam und Missbrauch schützt. Er verwendet fortschrittliche Risikoanalysetechniken und adaptive Herausforderungen, um Menschen von Bots zu unterscheiden. Der Begriff „CAPTCHA“ steht für „Completely Automated Public Turing test to tell Computers and Humans Apart“. Im Laufe der Jahre gab es mehrere Versionen von reCAPTCHA:
  • reCAPTCHA v1: Dies war die ursprüngliche Version, bei der den Benutzern verzerrter Text präsentiert wurde, den sie entziffern und in ein Feld eingeben mussten. Dies war für die Digitalisierung von Büchern und anderen Drucksachen nützlich, für Menschen jedoch oft schwierig zu lösen.

    • nextcaptcha recaptcha-badge

  • reCAPTCHA v2: In dieser Version wurde das Kontrollkästchen „Ich bin kein Roboter“ eingeführt, das Benutzer anklicken müssen. Wenn das System nicht sicher ist, ob der Benutzer ein Mensch ist oder nicht, stellt es zusätzliche Herausforderungen dar, beispielsweise die Identifizierung von Objekten in Bildern.

    • nextcaptcha RecaptchaLogo

  • reCAPTCHA v3: Diese Version läuft im Hintergrund und unterbricht die Benutzer nicht mit Herausforderungen. Stattdessen weist sie jedem Besucher basierend auf seinen Interaktionen mit der Website einen Risikowert zu. Websitebesitzer können diesen Wert dann verwenden, um zu entscheiden, wie mit dem Besucher umgegangen werden soll (z. B. blockieren, eine Herausforderung darstellen usw.).

    • nextcaptcha solve-recaptcha-enterprise

reCAPTCHA lösen#

Voraussetzungen#

  • Bibliothek anfordern
    • Wir verwenden die Python-Anforderung als Beispielcode
  • NextCaptcha Client-Schlüssel

Holen Sie sich den NextCaptcha-Client-Schlüssel vom Dashboard#

Melden Sie sich bei NextCaptcha an, um sofort Ihren kostenlosen API-Schlüssel und kostenlose Testguthaben zu erhalten.

Python-Code zum Lösen von reCAPTCHA#

# create task
    """
        Create NextCaptcha CAPTCHA solver task.
 
        :param task: task of captcha dict.
        :param client_key: the client key form nextcaptcha dashboard.
        :param solft_id: Optional. The value of the 'solft_id'.
        :param callback_url: Optional. callback when the captcha task finish.
        :return: A dictionary containing the solution of the reCAPTCHA.
      """
    def send_task(task, client_key, solft_id, callback_url):
        HOST = "https://api.nextcaptcha.com"
        session = requests.session()
        data = {
            "clientKey": client_key,
            "solftId": solft_id,
            "callbackUrl": callback_url,
            "task": task,
        }
        resp = session.post(url=HOST + "/createTask", json=data)
        if resp.status_code != 200:
            return resp.json()
        resp = resp.json()
        task_id = resp.get("taskId")
 
        start_time = time.time()
        while True:
            if time.time() - start_time > TIMEOUT:
                return {"errorId": 12, "errorDescription": "Timeout", "status": "failed"}
 
            resp = session.post(url=HOST + "/getTaskResult",
                                     json={"clientKey": client_key, "taskId": task_id})
            if resp.status_code != 200:
                return resp.json()
            status = resp.json().get("status")
            if status == READY_STATUS:
                return resp.json()
            if status == FAILED_STATUS:
                return resp.json()
            time.sleep(1)
 

Python-Beispielcode zum Lösen von reCAPTCHA v2#

  def recaptchav2(self, website_url: str, website_key: str, recaptcha_data_s_value: str = "",
                    is_invisible: bool = False, api_domain: str = "", page_action: str = "") -> dict:
        """
        Solve reCAPTCHA v2 challenge.
 
        :param website_url: The URL of the website where the reCAPTCHA is located.
        :param website_key: The sitekey of the reCAPTCHA.
        :param recaptcha_data_s_value: Optional. The value of the 'data-s' parameter if present.
        :param is_invisible: Optional. Whether the reCAPTCHA is invisible or not.
        :param api_domain: Optional. The domain of the reCAPTCHA API if different from the default.
        :return: A dictionary containing the solution of the reCAPTCHA.
        """
        task = {
            "type": "RecaptchaV2TaskProxyless",
            "websiteURL": website_url,
            "websiteKey": website_key,
            "recaptchaDataSValue": recaptcha_data_s_value,
            "isInvisible": is_invisible,
            "apiDomain": api_domain,
            "pageAction": page_action,
        }
        return send_task(task)

Python-Beispielcode zum Lösen von reCAPTCHA v2 Enterprise#

 
    def recaptchav2enterprise(self, website_url: str, website_key: str, enterprise_payload: dict = {},
                              is_invisible: bool = False, api_domain: str = "", page_action: str = "") -> dict:
        """
        Solve reCAPTCHA v2 Enterprise challenge.
 
        :param website_url: The URL of the website where the reCAPTCHA is located.
        :param website_key: The sitekey of the reCAPTCHA.
        :param enterprise_payload: Optional. Additional enterprise payload parameters.
        :param is_invisible: Optional. Whether the reCAPTCHA is invisible or not.
        :param api_domain: Optional. The domain of the reCAPTCHA API if different from the default.
        :return: A dictionary containing the solution of the reCAPTCHA.
        """
        task = {
            "type": "RecaptchaV2EnterpriseTaskProxyless",
            "websiteURL": website_url,
            "websiteKey": website_key,
            "enterprisePayload": enterprise_payload,
            "isInvisible": is_invisible,
            "apiDomain": api_domain,
            "pageAction": page_action,
        }
        return send_task(task)

Python-Beispielcode zum Lösen von reCAPTCHA v3#

    def recaptchav3(self, website_url: str, website_key: str, page_action: str = "", api_domain: str = "",
                    proxy_type: str = "", proxy_address: str = "", proxy_port: int = 0, proxy_login: str = "",
                    proxy_password: str = "") -> dict:
        """
        Solve reCAPTCHA v3 challenge.
 
        :param website_url: The URL of the website where the reCAPTCHA is located.
        :param website_key: The sitekey of the reCAPTCHA.
        :param page_action: Optional. The action parameter to use for the reCAPTCHA.
        :param api_domain: Optional. The domain of the reCAPTCHA API if different from the default.
        :param proxy_type: Optional. The type of the proxy (HTTP, HTTPS, SOCKS4, SOCKS5).
        :param proxy_address: Optional. The address of the proxy.
        :param proxy_port: Optional. The port of the proxy.
        :param proxy_login: Optional. The login for the proxy.
        :param proxy_password: Optional. The password for the proxy.
        :return: A dictionary containing the solution of the reCAPTCHA.
        """
        task = {
            "type": "RecaptchaV3TaskProxyless",
            "websiteURL": website_url,
            "websiteKey": website_key,
            "pageAction": page_action,
            "apiDomain": api_domain,
        }
        if proxy_address:
            task["type"] = "RecaptchaV3Task"
            task["proxyType"] = proxy_type
            task["proxyAddress"] = proxy_address
            task["proxyPort"] = proxy_port
            task["proxyLogin"] = proxy_login
            task["proxyPassword"] = proxy_password
        return send_task(task)
 

Python-Beispielcode zum Lösen von reCAPTCHA auf Mobilgeräten#

 
    def recaptcha_mobile(self, app_key: str, app_package_name: str = "", app_action: str = "") -> dict:
        """
        Solve Mobile reCAPTCHA challenge.
 
        :param app_key: The app key of the Mobile reCAPTCHA.
        :param app_package_name: Optional. The package name of the mobile app.
        :param app_action: Optional. The action parameter to use for the Mobile reCAPTCHA.
        :return: A dictionary containing the solution of the Mobile reCAPTCHA.
        """
        task = {
            "type": "RecaptchaMobileProxyless",
            "appKey": app_key,
            "appPackageName": app_package_name,
            "appAction": app_action,
        }
        return send_task(task)
 

Abschluss#

NextCaptcha Hochgepflegter, aktueller und günstigster ReCaptcha Mobile Solver-Dienst, stabiler 24/7-Support
Für einen erfolgreichen Datenabruf benötigen Sie ein leistungsstarkes Tool, auf das Sie sich bei der Handhabung von CAPTCHAs vollständig verlassen können. NextCaptcha bietet eine einfach einzurichtende API, mit der Sie alle Anti-Bot-Herausforderungen meistern können. Sie können es noch heute kostenlos testen.

Mehr#