反爬虫的方式有哪些
刚才牺牲了一下cnodejs社区,发现每回最多只能爬取10页左右,多了就报错。。。突然想起前几天面试的时候被问到,怎么反爬虫,当时只知道有个robot.txt文件和HTML的robot-control,好像可以做到,再就是直接封ip,,请问各位大侠,还有其他的什么方式么
1 回复
所谓道高一尺魔高一丈,爬虫与反爬虫是一个非常斗智斗勇的过程 像反爬首先需要判断爬虫,如通过请求的header、请求的频率等等来判断,当然,爬虫也可以伪装成chrome、Firefox浏览器、也可以通过代理不断换IP… 知道了爬虫之后,如何处置它们呢?
- 返回 fuckyou, 让它们感到羞愧
- 投毒,比如执行 sql 注入。或是加上用户不可见的隐藏 url,无穷跳转,玩死爬虫
- 给假数据,比如html里的价格是100,实际页面上的确是1000。
另一种策略是增加爬取难度 众所周知,爬虫是爬静态html页面 , 我们就可以采用 ajax 获取数据(当然ajax也是可以爬的),另一种是关键数据采用图片显示,如价格等等, 还有一种是在服务端生成大量 随机的 display:none 的节点,让普通用户轻松看得到数据,但是爬虫人员难以抽取的网页源码