CSS偏移量反爬虫技术与OCR技术

        CSS偏移量反爬虫技术是一种十分有效的防止爬虫的技术,它通过隐藏或混淆真实数据的位置,增加自动化爬虫抓取数据的难度。CSS偏移量技术的原理在于通过CSS样式将页面上的元素位置进行偏移,使得元素的实际显示位置与文档结构中的位置不一致,使爬虫获取的数据与页面显示数据完全不同。它的出现使传统爬虫获取的数据的准确性大大降低,也增加了爬虫的复杂度和计算成本。

        一般情况下,网站对CSS偏移量技术的应用为:对于一串乱序数字文本,网站通过CSS样式,使数字以正确语义的形式在前端进行展示。而自如平台则是在此基础上进行了升级。第一,它将乱序数字文本更换成了乱序数字图片,使爬虫开发者无法直接通过偏移量确定数字的正确排序。第二,它生成的乱序数字图片并不唯一,且数字图片会随着时间而更新,这使得爬虫开发者无法通过单一的图片规律,获取正确语义的数字串。

        OCR技术即光学图像识别技术,它能够对数字图片进行图像识别,从而获取到乱序的数字组合。OCR技术的实现可以分为两种:

图1 训练神经网络模型流程

  1. 训练一个用于数字图像识别的神经网络模型,该方法流程如图1所示。这种方法需要准备大量的数据集,利用这些数据集对一个特定的神经网络模型进行训练,并在训练过程中根据误差更新迭代超参数,以获取较优的超参数使神经网络模型表现良好的预测行为。若选用此方法,神经网络模型该选择AlexNet,因为其已经被证明在数字图片识别方面有优秀性能。
  2. 调用Python中关于OCR技术的库。这些库都已经封装好了,用户只需要了解其函数,并进行调用,就可以实现数字图像识别。

由于目前环境下的OCR技术对数字图像识别的表现十分优秀,所以可以直接选择第2种方式实现OCR技术,无需重新训练神经网络模型。利用第2种方式解决CSS偏移量反爬虫的流程如图4.2所示。

图4.2 对抗CSS偏移量反爬虫技术示意图

        OCR技术虽然解决了爬虫无法识别乱序数字的问题,但是由于数字图片的乱序排列,系统还不能直接获取到正确的房屋价格。所以,系统还需要获取房屋价格元素的CSS偏移量,观察其规律,从而确定每个数字的正确位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值