网站反爬虫

       爬虫和反爬虫作为相生相克的死对头,无论爬虫多厉害,都是能被复杂的反爬虫机制发现,同样的,无论反爬虫机制多么缜密,都是能被高级的网络爬虫所攻破,胜负的关键就看双方的资源投入多少了。

       一般网站从三个方面反爬虫:请求网站访问时的请求头Headers,用户行为,目标网站的目录和数据加载方式。更进一步的反制措施也不少。最主要的大概有:Cookie限制,验证码反爬虫,以及Noscript。

1.通过Headers反爬虫 (已经是废柴)

2.基于用户行为反爬虫

(静默检测?OR,主动识别下,session内不再检测?OR认为有异常服务端跳转到检测,屏蔽访问??其实都可以尝试)

如同一IP短时间内多次访问同一页面,或者同一账户短时间内多次进行相同操作。

逆向:1)使用代理ip。 2)降低请求频率。3)注册有多用户

3.其他参数加密 JS加密

逆向:八爪鱼、phantomJS 包浏览器的

4.字符加密(推荐):

原理,字库显示时,是根据内码到字库找相应的显示矢量图;我们复制一份字体文件,用fronteditor修改,变乱内码到矢量图的映射。如 001=我,换成077=我 ;我们整我这样一份映射表。在生成最终页面时,使用自己的字体(topnetfront 其实是常规字体的修改版),正文汉字根据映射表,作转换。存redis。浏览器加载显示时,会配合字体文件显示。看到的是正常的。

但是复制、看源码,都是颠倒的,甚至是乱码。导致爬取无效。

逆向:下载字体文件,统计分析,找到映射关系。

可以通过定期换字体版本,加大逆向难度。

参考网站:

http://www.cnblogs.com/zale-blogs/p/9223089.html

https://www.jianshu.com/p/5a626b3422ac

https://www.jianshu.com/p/0e2e1aa6d270

你可能感兴趣的:(网站反爬虫)