目前常见的Web反采集策略大概有以下几种:
1)数据加密;
2)限制访问频率;
3)数据以非文本形式展现;
4)验证码保护;
5)Cookie验证;
本文主要探讨一下如何突破“数据加密”:
反采集策略 - “数据加密”的原理:
Web服务器端脚本将HTML文档中的部分数据加密,然后发送给HTTP客户端(浏览器)。
浏览器使用JavaScript将密文还原成文明后显示。
突破的方法:
根据JavaScrip解密算法源码,实现自己采集程序所需还原算法,在接收到服务器应答数据后,先对数据进行解密,然后再进行提取。
一个实例:
Whitepages的电话(手机)号码是这样输出的:
在浏览器中看到的电话号码为:(02) 6226 8220,而不是”(57) 1771 3775“,如下所示:
在源码中可以找到WPOL.Util.rotDecode的源码如下:
我们的采集程序是采用Python编写的,所以需要根据上述代码实现我们自己的解密算法,如下:
测试:
了解更多分析及数据抓取可查看:
http://cloud.yisurvey.com:9081/html/bfd0c1a1-ea90-4ed6-9a2c-1da4cd72391c.html
本文转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请联系我们删除处理。
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。