如何用 Python 破解 "select different image" 验证码

How to break "select different image" CAPTCHA with Python

所以我在 Python3 中有这段代码,它通过对象识别(我用它来自动执行基于 Flash 播放器的网站内的下载过程)和 Selenium 从网站抓取数据。问题是我被这个网站困住了,这个网站有一个定制的验证码,用户必须 select 来自组的不同图像,我不知道如何从该网站下载或获取这些图像为了识别不同的人,有没有人解决过这样的问题?或者对如何使用任何其他技术或方法解决此验证码有想法?

This is the login that has the CAPTCHA

这里是西班牙语站点的 link。验证码基本上说 "Select the different image" https://portalempresas.sb.cl/login.php

谢谢!

要将这些图像下载为 png 文件,您可以执行以下操作:

from io import BytesIO
from PIL import Image

# Download image function
def downloadImage(element,imgName):
    img = element.screenshot_as_png
    stream = BytesIO(img)
    image = Image.open(stream).convert("RGB")
    image.save(imgName)

# Find all the web elements of the captcha images    
image_elements = driver.find_elements_by_xpath("*//div[contains(@class,'captcha-image')]")

# Output name for the images
image_base_name = "Imagen_[idx].png"

# Download each image
for i in range(len(image_elements)):
    downloadImage(image_elements[i],image_base_name.replace("[idx]","%s"%i))    

编辑 1:

如果你想比较 2 张图片看它们是否相等,你可以试试这个 post

编辑 2:

使用上面编辑的解决方案,结果如下: