您的位置:首页 > 理论基础 > 计算机网络

网络爬虫/数据抓取,反爬虫(更新版)

2017-04-25 23:03 260 查看

知己知彼,百战不殆

想要反网络爬虫,首先需要了解网络爬虫,基本概念不说了,这里主要对网路爬虫的特征进行阐述:

大多数是高访问量;

大多数是定时(可加入salt随机时间);

IP基本固定/不变(IP代理可跳过);

如何反爬虫

反爬虫的思路主要是区别爬虫和正常人工访问的区别,进行策反,所以发爬虫需要两步走,第一步识别,第二部策反;

识别

识别的思路主要是根据爬虫的特征,但需要考虑人工操作,大体来说,识别分为以下常见方式:

统计数量,如多久内超过多少访问量;(阈值是人工比较难操作的数量)

(不定期,下同)验证码 > 最常见最普通,技术门槛最低;

验证图形 > 比如拖拉图形的区域到指定位置;

简单算术 > 比较常见,加减乘除;

回答问题 > 小米/魅族等电商网上营销时常用,如孙悟空的师傅是谁;

选择点击图片 > 12306常见方式;

验证性链接:

验证性区域 > 根据界面展示的内容展示不可见区域进行识别,不如列表界面,分页或数据界面展示不可见区域,人工操作无法进入,但一般爬虫难以识别隐藏域;

以上主要的思路就是,电脑做起来不容易,但人工操作很容易。

策反

监禁:采集一次放到全局变量中进行记录,并隔离访问(通过过滤器拦截器等限制访问),然后再放出来(提高应用容错性),再次符合判断再进行隔离访问或终身监禁,但界面展示为网络问题,等待中(为了防止破译监禁制造假象);

投毒:界面展示的数据经过加工处理,展示的数据变为假数据(半真半假)(也可乱码)(投毒一般都是看起来像真数据,不仅仅是爬到真数据,也是想欺骗爬虫);

断奶:如果判断是爬虫,直接拉黑;

攻击(难度大,不建议):攻击方面有保守攻击和激进攻击两种,保守攻击如相应延时策略、返回大批量假数据策略、破坏数据解析规则策略等;激进攻击如肉鸡;

一般建议:

识别:低成本高收益的是普通验证码+统计阈值;

处理:投毒/监禁,投毒可适用于部分补救措施;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  爬虫 网络爬虫