您的位置:新闻资讯 >文章内容
爬虫遇到验证码怎么办?python爬虫验证码处理
来源:互联网 作者:admin 时间:2018-12-05 15:07:45

除了常见的IP限制,爬虫还会经常遇到验证码限制,对于IP限制,还可以利用代理IP切换IP,对于验证码,python爬虫又是怎么处理的呢?


验证码比较多样,通常的是图片的验证码,这些验证码不仅模糊还是重叠,难倒不少人,别说爬虫了。


其实现在已经有图片识别文字软件,可以通过软件把图片中的文字转为文本,但是乱码可不少,这技术能应用在python爬虫中么?


对于python爬虫验证码处理,机器视觉的一个分支:文字识别,介绍如何用一些Python库来识别和使用在线图片中的文字。将图像翻译成文字一般被称为光学文字识别(OpticalCharacterRecognition,OCR)。可以实现OCR的底层库并不多,目前很多库都是使用共同的几个底层OCR库,或者是在上面进行定制。在这里我们只重点介绍:Tesseract


Tesseract是一个OCR库,是目前公认最优秀、最精确的开源OCR系统,除了极高的精确度,也具有很高的灵活性。它可以通过训练识别出任何字体,也可以识别出任何Unicode字符。


一、安装Tesseract


Windows系统:下载可执行安装文件进行安装。


Linux系统:可以通过apt-get安装:$sudoapt-gettesseract-ocr


Tesseract是一个Python的命令行工具,不是通过import语句导入的库。安装之后,要用tesseract命令在Python的外面运行,但我们可以通过pip安装支持Python版本的Tesseract库:


python爬虫验证码处理


二、从网站图片中抓取文字


下面的程序就是从网站图片中抓取文字:首先打开阅读器,收集图片的URL链接,然后下载图片,识别图片,最后打印每个图片的文字。因为这个程序很复杂,利用了前面几章的多个程序片段,所以增加了一些注释以让每段代码的目的更加清晰:


python爬虫验证码处理


上文详细介绍了python爬虫验证码处理,可以根据网站的反爬虫机制使用,除了IP限制、验证码限制,还有其他有些验证。在使用爬虫的过程中,需要注意控制访问速度,伪装好数据,否则容易被检测到,从而被限制爬虫数据。


相关文章内容简介
在线咨询
微信公众号

微信公众号

回到顶部