بیاموزید که چطور فرمی دارای کپچای تصویری را با استفاده از پایتون ارسال کنید
قصد دارید چه چیزی یاد بگیرید
در این خودآموز مبتدیان، اصول پایه ارسال فرم با کپچاهای تصویری را خواهید آموخت
شما قصد ارسال فرم آموزشی این با کپچا تصویری را دارید.
با تحلیل فرم با مرورگر خودتان از صفر شروع کنید. با ساختن کدی که دادههای فرم را استخراج میکند و کپچا را با خدمات Anti Captcha حل میکند، کار را ادامه دهید.
با کدی که دادههای فرم را ارسال میکند و نتیجه مثبت را چک میکند، کار را تمام کنید.
کد منبع:
from anticaptchaofficial.imagecaptcha import *
import requests
import base64
def find_between(s, start, end):
return (s.split(start))[1].split(end)[0]
response = requests.get("https://anti-captcha.com/demo?page=image_captcha")
base64str = find_between(response.text, ";base64,", "\">")
c_str = find_between(response.text, " name=\"c\" value=\"", "\">")
print(f"base64: {base64str}")
print(f"c_str: {c_str}")
# save base64 image to a temporary file
with open("tmp.file", "wb") as file:
file.write(base64.urlsafe_b64decode(base64str))
solver = imagecaptcha()
solver.set_verbose(1)
solver.set_key("API_KEY_HERE")
captcha_text = solver.solve_and_return_solution("tmp.file")
if captcha_text != 0:
print("captcha text "+captcha_text)
res = requests.post("https://anti-captcha.com/demo/submit_image.php", data={
"login": "testlogin",
"pass": "testpass",
"c": c_str,
"captcha": captcha_text
})
if "test passed" in res.text:
print("Our test passed!")
if "Captcha test not passed" in res.text:
print("Test NOT passed!")
else:
print("task finished with error "+solver.error_code)