猿问

反爬虫技术如何实现

爬虫,我知道一些方法如何去尽量避免被服务器检测到这是爬虫,如常见的header设置,还有selenium+chrome模拟等。好奇的是,服务器怎么样去检测判断这些请求是爬虫行为呢?我是做后台服务的,一直没有想明白,怎么去检测是否是爬虫?看到还有一些更高级的,甚至都可以检测出浏览器是被selenium控制的,建立模型分析出这是爬虫。反爬虫技术,完全不会,希望可以对这个介绍一下,最基本的,或者推荐一些书籍、博客、技术文档
慕码人2483693
浏览 266回答 2
2回答

函数式编程

你好,爬虫的抓取与反制是一个典型的猫鼠游戏,没有一通百通一招制胜的绝学,都是随着时代发展衍生出的一些此消彼长而已。有关这方面的技术,可以看下我之前写的的一篇博客,介绍的已经非常全了,我也同步在了segment网站的专栏里,上了segment的月度精华文章。简单地说,对于如今web技术当中涌现出的各种headless浏览器也就是你提到的selenium+chrome模拟等需要服务端和客户端配合起来,联合对爬虫抓取进行反制与跟踪,即使如此,攻击与防御依然是相对的,你能做的只是提升抓取者的成本,而不可能一劳永逸。PS:讽刺的是,我发现我的原创文章同步在了很多个博客ugc平台,唯独在segmentfault发布的版本被很多人匿名转载了,其中恐怕有不少是被野爬的,看来segmentfault的反爬虫防御门槛很低。不过没关系,授人以渔者,自己肯定会留几手的,如果你的网站业务中真的面临大量爬虫抓取的威胁,可以微博或推特联系我,不同场景下的爬虫防御反制技术需要结合你们具体业务特点来做,我目前手里掌握的一整套手段基本可以通杀市面上开源的各种爬虫抓取工具,包括headlesschrome(puppeteer),哦对了,对headlesschrome的反制,我博客里提到的一些手段已经过时了,大家转载时悠着点别把自己坑了哈哈
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答