反爬虫的一些措施

  • IP限制(服务端在一定时间内统计 IP 地址的访问 次数,当次数、频率达到一定阈值时返回错误码或者拒绝服务。)
  • 验证码(服务提供方在 IP 地址访问次数达到一定 数量后,可以返回验证码让用户进行验证。这种限制在不需要登录的网页界面比较 常见,它需要结合用户的 cookie 或者生成一个特殊标识对用户进行唯一性判断,以 防止同一个 IP 地址访问频率过高。)
  • 登录限制(登录后,结合用户的唯一标识,可以进行计数,当访问 频度、数量达到一定阈值后即可判断为爬虫行为,从而进行拦截。)
  • 数据伪装
  • 参数签名(设计良好的 API 通常都要对参数使用签名(sign)来驱避非法请求,常见于手机 APP。APP 通过加密算法对请求的参数进行运算,从而得到一个签名。这个签名通常 和时间戳相关,并且在请求中附加上时间戳。在请求的参数固定的情况下,能够在一小段时间内生效。当请求发送到服务端后,服务端对参数、时间戳进行验证,比较签名是否一致。如果不一致,则判断为非法请求。)
  • 隐藏验证(更复杂的反爬虫的方式之一是,隐藏验证。例如,在网站的防护上,通过 JavaScript 请求一些特殊的网址,可以得到一些特定的令牌(token),这样每次请求时即可生成不同的令牌。)
  • 阻止调试(添加debugger关键字)

参考链接:Python爬虫和反爬虫的斗争

发布了80 篇原创文章 · 获赞 82 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_42893625/article/details/104970407