反爬虫策略收录集

前言

反爬虫,是指对扫描器中的网络爬虫环节进行反制,通过一些反制策略来阻碍或干扰爬虫的正常爬行,从而间接地起到防御目的。下面是一些常见的反爬虫策略的收录。

入门版

封IP

由于服务器有防火墙(如果防火墙在TCP/UDP层或者它们以下的层做限制是无法绕过的,必须调整真实的物理IP)或者站点程序有相关限流设置,单位时间内请求过多时,会禁止可疑IP的访问。

爬虫对抗方案:
使用sleep等待随机时间,但是这种方式会拉长爬虫周期
建立IP代理池机制,通过大量代理IP去访问,但是可能校对【账户-UA-IP】等信息,有可能触发session失效被要求重新登录

封User-Agent

User-Agent的角色就是客户端的身份标识。很多的爬虫请求头就是默认的一些很明显的爬虫头python-requests/2.18.4,诸如此类,当发现携带有这类headers的数据包,直接拒绝访问。

爬虫对抗方案:
设置个User-Agent列表,从列表里随机抽出一个User-Agent,封装到http请求里
强烈建议爬虫程序降低访问频率(模拟用户行为),建设站点账号列表(使爬虫任务能够打散分化),因为目标站点可能校对【账户-UA-IP】等信息,有可能触发session失效被要求重新登录

其他header参数

除了User-Agent之外,可利用的header参数还有Host和Ref

你可能感兴趣的:(爬虫,python,javascript,学习,开发语言)