前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >1.3K Star开源好工具,跳过图形验证码

1.3K Star开源好工具,跳过图形验证码

作者头像
开源日记
发布2023-12-13 12:10:17
5880
发布2023-12-13 12:10:17
举报
文章被收录于专栏:JVMGC

软件介绍

Hcaptcha-challenger 是一个开源的 Python 软件包,旨在破译 hCaptcha 验证码系统。hCaptcha 是一种人机验证系统,被许多网站用于保护其服务免受恶意自动化行为的侵害。然而,这种保护机制对于某些合法用户来说可能过于繁琐。

Hcaptcha-challenger 通过使用机器学习和图像处理技术,可以自动分析和识别 hCaptcha 验证码,从而帮助用户绕过人机验证步骤。

功能特点

  • 自动破解 hCaptcha 验证码Hcaptcha-challenger 使用先进的机器学习和图像处理技术来识别和破解 hCaptcha 验证码,从而为用户提供了一种简单而有效的解决方案。
  • 高效准确:该软件包经过优化,可以高效地处理大量的验证码,并提供准确的破译结果。
  • 多种识别模式:为了适应不同类型和复杂度的 hCaptcha 验证码,Hcaptcha-challenger 提供了多种识别模式,以满足不同用户的需求。
  • 灵活的配置选项:用户可以根据自己的需求和环境,通过配置参数来调整识别模型的参数,以达到更好的破解效果。
  • 客户端和服务器端支持Hcaptcha-challenger 提供客户端和服务器端两种使用方式,方便用户根据自己的需求选择。

使用步骤

  • 1.下载和安装:通过 GitHub 页面或 pip 工具下载 hcaptcha-challenger 软件包,并根据指示进行安装。
代码语言:javascript
复制
pip insatll -U pip
pip install -U hcaptcha-challenger[playwright]
  • 2.导入和初始化:在 Python 代码中导入 hcaptcha-challenger,并进行初始化设置。
代码语言:javascript
复制
# -*- coding: utf-8 -*-
# Time       : 2023/9/2 3:30
# Author     : QIN2DIM
# GitHub     : https://github.com/QIN2DIM
# Description:
from __future__ import annotations

import asyncio
from pathlib import Path

from loguru import logger
from playwright.async_api import BrowserContext as ASyncContext, async_playwright

import hcaptcha_challenger as solver
from hcaptcha_challenger.agents import AgentT
from hcaptcha_challenger.utils import SiteKey

# Init local-side of the ModelHub
clip_available = True
solver.install(upgrade=True, clip=clip_available)

# Save dataset to current working directory
tmp_dir = Path(__file__).parent.joinpath("tmp_dir")

sitekey = SiteKey.user_easy


@logger.catch
async def hit_challenge(context: ASyncContext, times: int = 8):
    page = await context.new_page()
    agent = AgentT.from_page(page=page, tmp_dir=tmp_dir, self_supervised=clip_available)
    await page.goto(SiteKey.as_sitelink(sitekey))

    await agent.handle_checkbox()

    for pth in range(1, times):
        result = await agent.execute()
        probe = list(agent.qr.requester_restricted_answer_set.keys())
        question = agent.qr.requester_question
        print(f">> {pth} - Challenge Result: {result} - {question=} {probe=}")
        match result:
            case agent.status.CHALLENGE_BACKCALL:
                await page.wait_for_timeout(500)
                fl = page.frame_locator(agent.HOOK_CHALLENGE)
                await fl.locator("//div[@class='refresh button']").click()
            case agent.status.CHALLENGE_SUCCESS:
                return


async def bytedance():
    # playwright install chromium --with-deps
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=False)
        context = await browser.new_context(locale="en-US")
        await hit_challenge(context)


if __name__ == "__main__":
    asyncio.run(bytedance())
  • 3.配置参数:根据所需的识别模式和其他配置选项,设置相应的参数。这可能包括选择识别模型、调整图像处理参数等。
  • 4.提取验证码图像:通过网站或服务的 API 获取 hCaptcha 验证页面,并提取出包含验证码的图像。这通常需要提供一些特定的信息,例如页面 URL 或其他识别标识。
  • 5.进行识别:使用 hcaptcha-challenger 提供的识别函数,对提取的图像进行识别操作。该步骤将自动处理验证码图像并尝试破解其内容。
  • 6.获取结果:根据返回的结果,判断验证码识别是否成功。如果成功,可以继续进行后续操作,例如自动填写表单或进行其他相关任务。否则,可能需要重新尝试或调整配置参数以改进识别效果。

创作不易分享,,在看,三连支持一波,感谢。↓↓↓

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-12-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 软件介绍
  • 功能特点
  • 使用步骤
相关产品与服务
图像处理
图像处理基于腾讯云深度学习等人工智能技术,提供综合性的图像优化处理服务,包括图像质量评估、图像清晰度增强、图像智能裁剪等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档