首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >手把手使用Python教你破解谷歌(Google)人机验证码—上篇

手把手使用Python教你破解谷歌(Google)人机验证码—上篇

作者头像
Python进阶者
发布于 2020-02-19 07:02:55
发布于 2020-02-19 07:02:55
7K1
举报

众里寻他千百度。蓦然回首,那人却在,灯火阑珊处。

/1 前言/

今天呢,咱们来说一下Google,我们都知道,Google是目前地表最强的搜索引擎了,我们可以借助Google庞大的搜索资源找到一些自己想要的资源,可能是一些收费电影,可能是一些奇门小说,可能是某个角落的种子,不管怎么说,Google搜索还是挺给力的,但是呢,有的我们可能都遇到过,我们搜索的多了,会有下图的这种情况。

这种验证码呢,叫做ReCaptcha验证码,相对来说,是比较繁琐的验证码之一。

  当然了,ReCaptcha不止谷歌一家在用,国外的网站很多都是使用这种验证码,但是在国内不多,因为在国内比较容易被墙,所以用的少。但是我们是高端玩家,在自由的Internet中,我们怎么可能只局限于国内,下面,我们就针对ReCaptcha验证码进行破解。

/2 测试网站预览/

  测试网站:https://www.google.com/recaptcha/api2/demo

  谷歌提供的范例,实际网站验证码和这个一模一样。

ReCaptcha验证码样式,如下图所示。

/3 为什么使用第三方平台/

今天呢,咱们来说一下Google,我们都知道,Google是目前地表最强的搜索引擎了。老读者们可能知道,年前的时候我用第三方服务破解了B站的登录,没有来得及上车的小伙伴可以戳这两篇文章:干货|Python大佬手把手带你破解哔哩哔哩网滑动验证(上篇)干货|Python大佬手把手带你破解哔哩哔哩网滑动验证(下篇)。但是经常逛B站的小伙伴们肯定都知道B站目前已经更改了登录方式,想了解之前B站自动登录的小伙伴可以戳这里:Python奇淫技巧之自动登录哔哩哔哩,所以我那篇文章真是赶上了末班车,但是然并卵,现在肯定是登录不了了。后期有时间,给大家整理一篇关于B站破解的新文章学习一下。

嗯,看到这可能有人会对我不屑一顾,说辣鸡才会用第三方平台,要是按照技术来划分的话,我是真的辣鸡,哈哈~~

  但是这里要抬杠一下,并不是说用第三方平台就是辣鸡,我们可以想象一下,如果是滑动验证码,我们当然有一试的能力,python可以调用OpenCV,看看文档,当然是可以实现了。但是有个问题是,你可能针对的一个网站的滑动验证识别好了,但是在每个网站的滑动验证码都不太一样的情况下,在用OpenCV识别的时候,可能就会出现识别率低的情况。要是在公司,一直完不成任务,嗯,,,等着被炒鱿鱼吧,再说,像谷歌人机个人也解决不了,没有NB的机器学习是不可能的,所以只能用第三方平台,毕竟,完成任务才是首要任务。

  话不多说,这里选用的第三方平台:https://2captcha.com/。

/4 为什么使用第三方平台/

我们先来了解一下现在打码平台机制大概都有哪些,不是很全面,但是可以参考一下。

  第一种呢:就是打码平台训练好各种各样的数据,比如,哪些是花,哪些是车,然后我们把图片发送给打码平台,他给我们结果,但是这样会有个问题,如果训练的不好,我们这边的结果也是很不好的,各种不准确,影响效果

  第二种:就是平台雇人,我们把整个验证码都给打码平台,平台找人帮助我们点击,然后把结果给我们,我们在登录了或者做其他

  我们可以看出来,肯定是第二种更加灵活的,现在阶段,机器再NB,至少 在验证码上准确率还是不如我们人类这么机智的。

  2captcha平台目前采用的就是第二种方式,赚取的是中间差价,但是识别率是我用过最高的,曾经因为选错了平台,一直不成功,加班加点,鼠标都被我砸坏了,唉,所以,选择一个合适的平台还是很重要的

/5 所需工具/

Chromedriver:浏览器驱动,可以理解为一个没有界面的chrome浏览器。

Selenium:用于模拟人对浏览器进行点击、输出、拖拽等操作,就相当于是个人在使用浏览器,也常常用来应付反爬虫措施。

/6 总结/

写到这里,文章字数已经将近2000字了,介于篇幅原因,这篇文章主要介绍了第三方打码平台和破解的理论部分,下一篇文章将详细介绍破解谷歌人机的具体过程,下篇文章会配上较多的图和代码,明天早上9点不见不散,小伙伴们敬请期待吧!

------------------- End -------------------

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

本文分享自 Python爬虫与数据挖掘 微信公众号,前往查看

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

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

评论
登录后参与评论
1 条评论
热度
最新
救命!想看下篇!!!
救命!想看下篇!!!
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
每日一博 - 常见的Spring事务失效&事务不回滚案例集锦
在事务方法add中,直接调用事务方法updateStatus。 updateStatus方法拥有事务的能力是因为spring aop生成代理了对象,但是这种方法直接调用了this对象的方法,所以updateStatus方法不会生成事务。
小小工匠
2021/09/08
1.6K0
Spring事务失效的12种场景总结
上面代码中我们可以看到对于方法add的访问修饰符被定义成了private,这样会导致事务失效,原因是Spring 要求被代理的方法必须是 **public** 的。简单粗暴来看源码是怎么搞的。如下:
@派大星
2023/06/28
8.1K0
Spring事务失效的12种场景总结
揭秘Spring事务:让你的数据库操作不再出错!
在企业级 Java 应用中,数据库事务是保证数据一致性和完整性的基石。Spring 框架提供了强大且灵活的事务管理能力,使得开发者可以使用声明式或编程式方式来控制事务边界。然而,很多开发者在实际项目中常常会遭遇事务不生效、回滚不正确、死锁、性能下降等问题,究其原因,多是由于对事务原理和配置细节了解不足。
javpower
2025/07/12
880
揭秘Spring事务:让你的数据库操作不再出错!
Spring事务失效的常见陷阱与解决方案
Spring事务的原理是:通过AOP切面的方式实现的,也就是通过代理模式去实现事务增强。
Power
2025/04/01
1910
Spring 事务失效的六种情况
数据库事务是指作为单个逻辑工作单元执行的一系列操作,这些操作要么一起成功,要么一起失败,是一个不可分割的工作单元。
Jensen_97
2023/07/20
5940
Spring 事务失效的六种情况
spring事务的这10种坑,你稍不注意可能就会踩中!!!
对于从事java开发工作的同学来说,spring的事务肯定再熟悉不过了。在某些业务场景下,如果同时有多张表的写入操作,为了保证操作的原子性(要么同时成功,要么同时失败)避免数据不一致的情况,我们一般都会使用spring事务。
苏三说技术
2020/10/15
5690
Spring 事务和事务传播机制
在 MySQL 学习阶段,已经了解到了事务是一组操作的集合,也就是把所有的操作作为一个整体,一起向数据库提交或者撤销操作,要么同时成功,要么同时失败
2的n次方
2024/12/20
1830
Spring 事务和事务传播机制
Spring声明式事务在哪些情况下会失效?
在Spring中事务管理的方式有两种,编程式事务和声明式事务。先详细介绍一下两种事务的实现方式
Java识堂
2021/04/20
1.9K0
Spring声明式事务在哪些情况下会失效?
@Transactional注解使用以及事务失效的场景
数据库事务,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。
政采云前端团队
2023/09/28
2.3K0
@Transactional注解使用以及事务失效的场景
Spring事务失效的8种场景
这里以 MySQL为例,MyISAM引擎是不支持事务操作的,一般要支持事务都会使用InnoDB引擎,根据MySQL 的官方文档说明,从MySQL 5.5.5 开始的默认存储引擎是 InnoDB,之前默认的都是 MyISAM,所以这一点要值得注意,如果底层引擎不支持事务,那么再怎么设置也没有用。
每周聚焦
2024/11/27
2130
Spring事务失效的8种场景
发现一个Spring事务的巨坑bug,可是官方都不承认?大家来评评理!
点击上方“芋道源码”,选择“设为星标” 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路,很肝~ 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 RocketMQ 源码解析 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析 作业调度中间件 Elastic-Job 源码解析 分布式事务中间件 TCC-Transaction
芋道源码
2022/10/10
5750
发现一个Spring事务的巨坑bug,可是官方都不承认?大家来评评理!
关于spring事务你需要知道的知识点
大家都知道,在SpringBoot中,使用事务只需要添加@Transactional就可以添加事务,很是方便。
半月无霜
2023/03/03
3310
关于spring事务你需要知道的知识点
Spring事务为什么会失效?
如果对AOP的实现不太熟悉的话可以看我之前的文章,或者到我网站www.javashitang.com上查看系列文章
Java识堂
2022/05/19
6320
Spring事务为什么会失效?
一口气怼完12种@Transactional的失效场景
Hello,这里是爱 Coding,爱 Hiphop,爱喝点小酒的 AKA 柏炎。
柏炎
2022/08/23
9.2K0
一口气怼完12种@Transactional的失效场景
面试专题:深入事务的传播行为,绕晕面试官
关于事务,大家都知道怎么用吧,当我们需要在使用事务的方面加注解@Transation即可,但是,其实关于事务还有很多属性可以配置,比如事务传播信息,配置参数:propagation,可以指定事务的传播行为。所以本文将主要介绍了Spring中事务传播行为的概念、作用以及Spring支持的7种事务传播行为。通过了解这些事务传播行为,开发者可以更好地掌握Spring事务管理的核心原理,并在实际开发中合理地使用事务传播行为来保证事务的正确性和一致性。并且将详细介绍两种常用传播行为REQUIRED和REQUIRES_NEW的不同。
小明爱吃火锅
2023/12/21
4511
详解 Spring 事务传播性
首先,我们来了解 Spring 事务传播性到底是什么?Spring 事务传播性是指当多个含有事务的方法嵌套调用时,这多个方法处理事务的规则。比如这个图,当事务方法 A 调用事务方法 B 时,内层事务方法 B 会合并到外层调用者 A 方法的事务中,还是会新开启自己的事务。另外如果合并到外层事务,那么当内层方法回滚后,外层方法会不会回滚。
写bug的高哈哈
2025/02/09
1630
详解 Spring 事务传播性
Spring 事务传播行为使用与源码分析
我们知道在 Java 项目当中,在一次的接口调用时可能存在多个 DML 行为,而每一次的 DML 行为都可以单独的作为一次事务,所以有了事务的传播行为我们可以更加细粒度的控制这些方法对数据所造成的影响。想要控制就可以把调用内容拆分成多个方法分配不同的传播行为。
啵啵肠
2023/11/17
2750
探究Spring事务:了解失效场景及应对策略
在现代软件开发中,数据的一致性和完整性是至关重要的。为了保证这些特性,Spring框架提供了强大的事务管理机制,让开发者能够更加自信地处理数据库操作。然而,事务并非银弹,存在一些失效的情景,本文将带您深入探究Spring事务及其失效场景,并为您呈现应对策略。
修己xj
2023/08/25
2870
探究Spring事务:了解失效场景及应对策略
面试专题:简述Spring事务失效原因?
Spring事务管理是一个非常重要的功能,但在实际操作中,可能会出现事务失效的情况。本文将简要介绍导致Spring事务失效的八大原因,帮助开发者在实际操作中避免这些问题,并且这个问题对于面试中,面试如果要深入面试,经常也会问,事务失效有哪些原因。
小明爱吃火锅
2023/12/20
3900
Spring事务传播实现子事务的独立性
Spring在TransactionDefinition接口中规定了7种类型的事务传播行为。事务传播行为是Spring框架独有的事务增强特性,他不属于的事务实际提供方数据库行为。这是Spring为我们提供的强大的工具箱,使用事务传播行可以为我们的开发工作提供许多便利。
十毛
2019/07/15
1.2K0
推荐阅读
相关推荐
每日一博 - 常见的Spring事务失效&事务不回滚案例集锦
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档