用Netscaler解决网络爬虫问题cookie
近来有人问使用ADC来解决网络爬虫问题,首先要明确的一点:“在爬虫与反爬虫的对弈中,爬虫必定会胜利。”换言之,只要人类可以正常访问的网页,爬虫在具有同等资源的状况下就必定能够抓取到。robots.txt 只是约定,爬虫遵照或者不遵照彻底在于爬虫做者的意愿。举个例子,公交车上贴着「请为老弱病残孕让座」,可是大部分人并不见得会遵照。通常来说,只有大的搜索引擎爬虫会遵照你网站的 robots.txt 协议,其它的爬虫基本都不会看一眼你的 robots.txt 写的是什么。大部分状况下,反爬虫的需求是不能影响到网站正常使用的,一个网站的功能性需求必定高于反爬虫需求,因此大部分网站反爬虫必定不会恶心到正经常使用户的使用。
假装UA
使用代理IP
Cookies处理
验证码识别
控制访问速度
云主机运行
多线程并发抓取网络
一般咱们用到的反爬虫的办法有:
一、经过HTTP的UA(User-Agent)header来区分
二、经过验证码来识别机器
三、经过多线程
经过cookie来验证
添加变量来存储cookie的值并发
设置变量的属性,名称为vari_verify_cookie_global,生命值为300秒,初始值为不设置tcp
进行变量运算
运算名称为,选择刚定义的变量vari_verify_cookie_global,运算方法为“set”,赋值内容为SYS.TIME.TYPECAST_TEXT_T.HASH(当前系统时间并做哈希)ide
编写Rewrite策略网站
正常使用my_cookie便可,示例中添加para的cookie是为了验证变量赋值是否正确
编写两个rewrite策略搜索引擎
给变量赋值策略线程
插cookie策略3d
编写responder策略来验证cookie是否正确。当用户携带cookie:my_cookie=xxxx时重置tcp链接
应用策略
绑定responder策略到vserver
绑定rewrite策略到vserver,注意策略的优先级和后续操做
spider01的优先级为100,选下一步操做为next
spider02的优先级为110,下一步操做为end
到此完成配置,进行验证
用户第一次访问不带my_cookie,能够正常打开页面,而且Netscaler插入cookie
当再次刷新时即命中responder策略,重置TCP获得此页面说明已经可以成功验证cookie的值