隐藏链接反爬虫
隐藏链接反爬虫定义
隐藏连接反爬虫指的是在网页中隐藏用于检测爬虫程序得链接手段。被隐藏得链接不会显示在页面中,正常用户无法访问,但是爬虫程序有可能将该链接放入待爬队列,并向该链接发起请求。开发者可以利用这个特点区分正常用户和爬虫程序。
举例
刚我们访问某个网站得列表页时,为了拿到详情页得内容,我们需要将列表页得所有url加入到待爬取得队列中,在网页的列表div中加入对应的CSS样式,混入页面不显示的的class属性{display:none;},用来隐藏链接,正常的用户是不会看源码的,更不可能点击到这个链接,只有爬虫程序会获取到,只要客户端向这个隐藏的链接发起请求,就将该客户端视为爬虫,并且拒绝来自该IP的请求。
建议
由于爬虫工程师在分析网页时通常只需要找到目标数据的元素定位,所以隐藏在标签列表中的特殊超链接并不容易被发现,这其实时利用了爬虫工程师的粗心。隐藏链接这种反爬虫手段很适合网站中的列表页,所以在分析页面的时候一定要小心谨慎。
因为客户端的IP地址会随着网络的关闭与开启而变化,所以在实际的应用中,为了避免误伤到正常用户,IP的封禁并不会持续很久,正确的做法是在一定时间后解除对客户端IP的封禁。