爬虫,遇到aspx动态加载的验证码怎么办?

简介: 爬虫,遇到aspx动态加载的验证码怎么办?

应用场景

只要折腾过爬虫的都应该会迟早碰到这个问题:验证码。如果无法解决这个问题,估计踏入爬虫学习的第一步就会受到满满的一大盆冷水。因为只要是一个有那么一点点反爬虫的网站都会有验证码。今天就要详细分析分析这一个问题。

image.png

解决方法一:cookie

学习爬虫必须要知道这个东西,Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Session跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。

你们有没有发现,有些网站只登录过一次,那么可以很长的一段时间都不需要登录。那是因为有cookie的存在。所以我们只要带着正确的cookie进行请求网站,这就可以绕过登录,也绕过了验证码。不过有些网站的cookie很烦,经常变换,也不知道多久变一次。所以是否用这种方法,需要看实际效果。

解决方法二:半自动化爬虫

技术宅怒爬qq空间表白墙,自动化编程的福利哦|Python 主题月就提过,selenuim是网站自动化的工具。他可以模拟人工点击网站,操作网站。其实用low一点的办法,能够进去网页,问题也不大,也就是半自动化操作。自己手动输入验证码。反正最后还是可以进入网站爬取信息的。初学者不用纠结于这个验证码是否手动输入,只要爬取的动作还是代码进行的就行。

解决方法三:全自动化爬虫

我认真找了一下这个验证码

image.png

发现他的返回是一个PassCode.aspx。而请求的url也可以找到。我们一定觉得很奇怪,明天他们是图片,为什么他不是png或者jpg呢?其实这是因为验证码需要做着动态响应,当我们点它一下的时候,它就会变换成不同的验证码。我们每点一次,都会把上面的连接请求一次。

接下来,我们需要保存这个验证码。他是aspx格式,我们需要把他保存为gif。
具体代码如下:

import requests
url = 'http://appsso.pc139.zgyey.com/PassCode.aspx'
r = requests.get(url = url)
content = r.content
f =open(r'C:\Users\Administrator\Desktop\aaa.gif','wb')
f.write(content)
f.close()

最后能把验证码顺利保存下来。

image.png

接下来,我们要做的是切割图片,然后用图片识别的技术把验证码识别出来,这里最后识别出来的结果也就是一个3+6这一条公式。还有别的验证码识别出来更加简单,也就是4个数字。

以后我会详细写一篇如何识别验证码图片的文章。完整爬虫思路就是上面所说。

相关文章
|
数据采集 机器学习/深度学习 安全
Python爬虫之极验滑动验证码的识别
了解极验滑动验证码、特点、识别思路、初始化、模拟点击、识别缺口、模拟拖动。
693 0
|
2月前
|
数据采集 Web App开发 前端开发
Python爬虫中time.sleep()与动态加载的配合使用
Python爬虫中time.sleep()与动态加载的配合使用
|
3月前
|
数据采集 Web App开发 文字识别
Python爬虫多次请求后被要求验证码的应对策略
Python爬虫多次请求后被要求验证码的应对策略
|
4月前
|
Web App开发 数据采集 前端开发
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
Python + Chrome 爬虫:如何抓取 AJAX 动态加载数据?
|
4月前
|
数据采集 Web App开发 JavaScript
Jsoup 爬虫:轻松搞定动态加载网页内容
Jsoup 爬虫:轻松搞定动态加载网页内容
|
8月前
|
数据采集 JavaScript 前端开发
Python爬虫能处理动态加载的内容吗?
Python爬虫可处理动态加载内容,主要方法包括:使用Selenium模拟浏览器行为;分析网络请求,直接请求API获取数据;利用Pyppeteer控制无头Chrome。这些方法各有优势,适用于不同场景。
|
9月前
|
数据采集 消息中间件 API
Python爬虫验证码识别——手机验证码的自动化处理
Python爬虫验证码识别——手机验证码的自动化处理
438 0
|
9月前
|
数据采集 JavaScript 前端开发
如何使用Python爬虫处理JavaScript动态加载的内容?
如何使用Python爬虫处理JavaScript动态加载的内容?
|
数据采集 机器学习/深度学习 Web App开发
提升爬虫OCR识别率:解决嘈杂验证码问题
使用OCR技术提升爬虫识别嘈杂验证码的准确率,结合Python代码示例展示了如何预处理图像、使用Tesseract和代理IP来规避反爬。通过灰度化、二值化增强验证码可读性,并利用代理IP保持爬虫稳定性。
365 0
|
数据采集 算法 开发者
如何使用Python爬虫处理多种类型的滑动验证码
如何使用Python爬虫处理多种类型的滑动验证码