见反爬虫手段:
- 验证码
- 1.简单图片,扭曲数字验证码
- 2.中文顺序点击
- 3.动态验证码
- 4.滑动验证:滑动小方块到缺口
- 5.语音验证
- 6.极验验证:
对于极验是很厉害的拦截机器人手段,好像是使用人工智能机器学习,当然自己想做验证的话建议使用。对于验证有反爬虫,就有可能有反反爬虫
爬虫-验证码识别
- 通用方法:
- 1.下载网页和验证码,或截图
- 2.然后手动输入验证码
对于简单图片
- 1.使用图像识别软件或者文字识别软件
- 2.可以使用第三方图像验证码破解网站
对于极验
- 可以模拟鼠标移动,具体的方法我还不清楚
通用方法案例
- 能力有限,这里就介绍通用方法,先下载得到验证图片,然后手动输入
- Tesseract
- 机器视觉领域的基础软件
- OCR:OpticalChracterRecognition,光学文字识别
- Tesseract:是一个 OCR 库,由 Google 赞助
Tesseract-macOS的安装
我也没有 MacBook,老师顺口一说,记下了
brew install tesseract
Tesseract-Linux的安装
我这里是 Ubuntu 18 其他 Linux 版本不确定,进入管理员用户
apt-get install tesseract-ocr
python使用tesseract的工具 pytesseract 的安装
如果使用的是 Anaconda 环境:
进入当前环境:(我的环境名为learn,如果只有一个base环境,忽略此步)
activate learn
安装 pytesseract
pip install pytesseract
操作截图
原文:
https://blog.csdn.net/qq_40147863/article/details/82285618 blog.csdn.net
首先说一下,conda 是没有这个包的,也就不能使用 conda install,也不能直接在 Pycharm 里找到,只有使用 pip 安装,然后需要注意的就是,要使用你在 Pycharm 使用的那个环境进行安装
识别验证码案例
注意:此代码路径是,在图片和代码在同一目录
图片截图:
代码
import pytesseract as pt
from PIL import Image
# 生成图片实例
image = Image.open('timg.jpg')
# 调用 pytesseract 识别图片文字
text = pt.image_to_string(image)
print(text)
运行结果
- 这里是错了一个字符,因为需要用很多数据去训练,才能得到更高的准确率