Join And Get Free Trial!

hoe recaptcha op te lossen bij webscrapen in 2024 met recaptcha-oplosser#

logoNextCaptcha
May 20,2024

reCAPTCHA-overzicht#

reCAPTCHA is een gratis service van Google die websites helpt beschermen tegen spam en misbruik. Het maakt gebruik van geavanceerde risicoanalysetechnieken en adaptieve uitdagingen om mensen van bots te onderscheiden. De term "CAPTCHA" staat voor "Volledig geautomatiseerde openbare Turing-test om computers en mensen uit elkaar te houden." Er zijn door de jaren heen verschillende versies van reCAPTCHA geweest:
  • reCAPTCHA v1: Dit was de originele versie waarin gebruikers vervormde tekst kregen die ze moesten ontcijferen en in een vakje moesten invoeren. Dit was handig voor het digitaliseren van boeken en ander gedrukt materiaal, maar was voor mensen vaak moeilijk op te lossen.

    • nextcaptcha recaptcha-badge

  • reCAPTCHA v2: Deze versie introduceerde het selectievakje "Ik ben geen robot" waarop gebruikers moeten klikken. Als het systeem niet zeker weet of de gebruiker een mens is of niet, zal dit voor extra uitdagingen zorgen, zoals het identificeren van objecten in afbeeldingen.

    • nextcaptcha RecaptchaLogo

  • reCAPTCHA v3: Deze versie draait op de achtergrond en onderbreekt gebruikers niet met uitdagingen. In plaats daarvan kent het een risicoscore toe aan elke bezoeker op basis van hun interacties met de website. Website-eigenaren kunnen deze score vervolgens gebruiken om te beslissen hoe ze met de bezoeker omgaan (bijvoorbeeld blokkeren, een uitdaging presenteren, enz.).

    • nextcaptcha solve-recaptcha-enterprise

ReCAPTCHA oplossen#

Vereisten#

  • Bibliotheek aanvragen
    • we gebruiken het Python-verzoek als voorbeeldcode
  • VolgendeCaptcha Client-sleutel

haal de NextCaptcha Client-sleutel op van dashboard#

Meld u aan bij NextCaptcha om onmiddellijk uw gratis API-sleutel en gratis proeftegoeden te ontvangen.

Python-code voor het oplossen van 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-voorbeeldcode voor het oplossen van 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-voorbeeldcode voor het oplossen van 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-voorbeeldcode voor het oplossen van 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-voorbeeldcode voor het oplossen van reCAPTCHA mobiel#

 
    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)
 

Conclusie#

VolgendeCaptcha Goed onderhouden, up-to-date en goedkoopste ReCaptcha Mobile Solver-service, stabiele 24/7 ondersteuning
Voor het succesvol ophalen van gegevens heeft u een krachtige tool nodig waarop u volledig kunt vertrouwen om CAPTCHA te verwerken. NextCaptcha biedt een eenvoudig te installeren API waarmee u alle anti-bot-uitdagingen kunt overwinnen, en u kunt deze vandaag nog gratis uitproberen.

Meer#