openai-captcha-detection :号称在OpenAI模型加持下,可100%正确识别验证码

大模型图像处理数据库

大模型驱动的应用兴起,网页操作或者爬取变成了很强的需求,虽然现在自动化工具或者爬虫工具很多,但他们都怕一个东西,那就是验证码,有了它很多工具就得歇菜。当今多模态大模型能力这么强,那能否它们的能力来破解验证码,把这一个短板补上呢?

今天,介绍一个项目,它就是这个思路的尝试。

picture.image

openai-captcha-detection 是一款基于 OpenAI API 的开源验证码识别工具,专为开发者设计,旨在实现验证码处理的自动化。它通过 OpenAI的模型自带图像识别技术,来识别验证码,号称识别率高达 100%!

picture.image

该项目部分源码:


          
class OCRClient:  
   def __init__(self):  
       self._load_environment()  
       self.client = self._initialize_openai_client()  
  
   def _load_environment(self):  
       """Load environment variables from a .env file."""  
       load_dotenv()  
  
   def _initialize_openai_client(self):  
       """Initialize and return an OpenAI client."""  
       return OpenAI()  
  
   def encode_image_to_base64(self, image_path):  
       """Read image from the given path and return base64 encoded string."""  
       with open(image_path, "rb") as image_file:  
           image_data = image_file.read()  
       return base64.b64encode(image_data).decode('utf-8')  
  
   def invoke_gpt4o_ocr(self, encoded_image):  
       """Invoke GPT-4o-mini to perform OCR on the provided base64 encoded image."""  
       completion = self.client.chat.completions.create(  
           model="gpt-4o-mini",  
           messages=[  
               {  
                   "role": "user",  
                   "content": [  
                       {"type": "text", "text": "请对这张图片进行OCR识别,并输出最准确的验证码,以项目列表格式直接输出识别出的结果,不要输出其他内容。"},  
                       {"type": "image\_url", "image\_url": {"url": "data:image/png;base64," + encoded_image}}  
                   ]  
               }  
           ],  
           max_tokens=300,  
       )  
       result = completion.choices[0].message.content.replace("-","").strip()  
       return result  
  

      

由上可见,项目实现代码非常简陋,因此其可靠性很难保证,但可以给大家可以启发,以此思路完善现有爬虫或自动化工具能力,除了传统的图片验证码外,新型的比如CloudFlare和Google的验证形式,也可以尝试使用大模型来解决。

picture.image

picture.image

github地址:https://github.com/zgimszhd61/openai-capcha-detection

后台回复“进群”入群讨论

想要使用Claude、OpenAI o1等模型,没有海外信用卡的朋友,推荐我在用的Wildcard 虚拟卡:

使用该地址安全注册:https://bewildcard.com/i/WINKRUN

0
0
0
0
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论