# 1.3. 打码平台的使用
# 目标
- 了解常见的打码平台
- 掌握如果通过打码平台处理验证码
# 1. 为什么需要了解打码平台的使用
现在很多网站都会使用验证码来进行反爬,所以为了能够更好的获取数据,需要了解如何使用打码平台爬虫中的验证码
# 2. 常见的打码平台
云打码:http://www.yundama.com/ (opens new window)
能够解决通用的验证码识别
极验验证码智能识别辅助:http://jiyandoc.c2567.com/ (opens new window)
能够解决复杂验证码的识别
# 3. 云打码的使用
下面代码是云打码平台提供,做了个简单修改,只用传入response.content 即可识别图片
# 4.常见的验证码的种类
# 4.1 url地址不变,验证码不变
这是验证码里面非常简单的一种类型,对应的只需要获取验证码的地址,然后请求,通过打码平台识别即可
# 这是验证码里面非常简单的一种类型,对应的只需要获取验证码的地址,然后请求,通过打码平台识别即可
# 4.2 url地址不变,验证码变化
这种验证码的类型是更加常见的一种类型,对于这种验证码,大家需要思考:
在登录的过程中,假设我输入的验证码是对的,对方服务器是如何判断当前我输入的验证码是显示在我屏幕上的验证码,而不是其他的验证码呢?
在获取网页的时候,请求验证码,以及提交验证码的时候,对方服务器肯定通过了某种手段验证我之前获取的验证码和最后提交的验证码是同一个验证码,那这个手段是什么手段呢?
很明显,就是通过cookie来实现的,所以对应的,在请求页面,请求验证码,提交验证码的到时候需要保证cookie的一致性,对此可以使用requests.session来解决
# 小结
- 本小结重点
- 理解验证码的不同类型和不同处理方式
- 熟悉云打码的使用