Zarejestruj się na konto NextCaptcha: Przejdź do NextCaptcha i zarejestruj się, aby otrzymać klucz API.
Zainstaluj niezbędne pakiety Pythona: Upewnij się, że masz requests
zainstalowany. Możesz zainstalować go używając pip, jeśli jeszcze go nie masz:
pip install requests
Przejdź do strony z reCAPTCHA.
Sprawdź źródło strony: Kliknij prawym przyciskiem myszy stronę i wybierz opcję „Zbadaj” lub „Wyświetl źródło strony”.
Wyszukaj klucz witryny: Spójrz na data-sitekey
atrybut w HTML. Będzie wyglądać mniej więcej tak:
<div class="g-recaptcha" data-sitekey="YOUR_SITE_KEY"></div>
Skopiuj to YOUR_SITE_KEY
wartość.
Wyślij prośbę do NextCaptcha o rozwiązanie reCAPTCHA v3:
import requests
# Your NextCaptcha API key
API_KEY = 'YOUR_NextCAPTCHA_API_KEY'
# The URL of the page with the reCAPTCHA
url = 'URL_OF_THE_PAGE_WITH_RECAPTCHA'
# The site key for reCAPTCHA v3
site_key = 'YOUR_SITE_KEY'
# Requesting the reCAPTCHA solution
response = requests.post('https://api.nextcaptcha.com/createTask', data={
"clientKey": API_KEY,
"task": {
"type":"RecaptchaV3TaskProxyless",
"websiteURL":url,
"websiteKey":site_key
}
})
request_id = response.json().get('taskId')
Ankieta dotycząca rozwiązania:
import time
solution = None
while solution is None:
time.sleep(1) # Wait a few seconds before checking again
response = requests.post('https://api.nextcaptcha.com/getTaskResult', data={
"clientKey": "api key",
"taskId": request_id
})
if response.json().get('errorId') == 0:
solution = response.json().get('solution')
# The reCAPTCHA token
recaptcha_token = solution["gRecaptchaResponse"]
print(f'reCAPTCHA token: {recaptcha_token}')
# URL where the form is submitted
form_submit_url = 'URL_TO_SUBMIT_FORM'
# Form data including the reCAPTCHA token
form_data = {
'some_form_field': 'value',
'g-recaptcha-response': recaptcha_token
}
# Submit the form
response = requests.post(form_submit_url, data=form_data)
print(response.text)
Łącząc wszystkie kroki, oto kompletny kod:
import requests
import time
# Your NextCaptcha API key
API_KEY = 'YOUR_NextCAPTCHA_API_KEY'
# The URL of the page with the reCAPTCHA
url = 'URL_OF_THE_PAGE_WITH_RECAPTCHA'
# The site key for reCAPTCHA v3
site_key = 'YOUR_SITE_KEY'
# Requesting the reCAPTCHA solution
response = requests.post('https://api.nextcaptcha.com/createTask', data={
"clientKey": API_KEY,
"task": {
"type":"RecaptchaV3TaskProxyless",
"websiteURL":url,
"websiteKey":site_key
}
})
task_id = response.json().get('taskId')
solution = None
while solution is None:
time.sleep(1) # Wait a few seconds before checking again
response = requests.post('https://api.nextcaptcha.com/getTaskResult', data={
"clientKey": "api key",
"taskId": task_id
})
if response.json().get('errorId') == 0:
solution = response.json().get('solution')
# The reCAPTCHA token
recaptcha_token = solution["gRecaptchaResponse"]
print(f'reCAPTCHA token: {recaptcha_token}')
# URL where the form is submitted
form_submit_url = 'URL_TO_SUBMIT_FORM'
# Form data including the reCAPTCHA token
form_data = {
'some_form_field': 'value',
'g-recaptcha-response': recaptcha_token
}
# Submit the form
response = requests.post(form_submit_url, data=form_data)
print(response.text)