美文网首页
爬虫和反爬

爬虫和反爬

作者: 星辰大海的碎片 | 来源:发表于2018-12-10 15:49 被阅读0次

反爬就是区别人类行为和机器行为


  • 通过访问频率来判断是人还是机器,他们会通过监测你的访问频率来判断,比如一分钟之内的访问次数,但是这个有一个弊端就是局域网,因为同一个局域网对外是一个IP,假设局域网内的人都在访问同一个页面,这就非常容易触发警戒线。解决方法就是降低任务频率,加入几个sleep

  • 通过登陆限制来拒绝一些访问,非公开网站的常规操作,加个cookie就行了

  • 因为机器访问是没有header的,所以有些网站会通过header来做限制,加header就行了

  • IP限制,这个类似访问频率,但是可能会面临IP永久封杀,但是有代理池,还有高匿代理

  • 还有内容反爬,让内容只有人类才可以看到,比如把内容用图片之类的展示出来或者是直接给附件,但是有OCR

  • 验证码真的是判断人和机器的
    Google的reCAPTCHA是一种非常高级的验证码,但是通过模拟浏览器也是可以破解的,还有就是现在有第三方的爬虫插件也是有解决验证码。毕竟现在人工智能真的超火

  • JavaScript脚本动态获取网站数据
    有一些网站(尤其是单页面网站)的内容并不是通过服务器直接返回的,而是服务器只返回一个客户端JavaScript程序,然后JavaScript获取内容。更高级的是,JavaScript在本地计算一个token,然后拿这个token来进行AJAX获取内容。而本地的JavaScript又是经过代码混淆和加密的,这样我们做爬虫的通过看源代码几乎不可能模拟出来这个请求(主要是token不可能破解),但是我们可以从另一个角度:headless的浏览器,也就是我们直接运行这个客户端程序,这可以100%地模拟真实用户!
    这样的我没遇到过,这是大佬写的
    我遇到的是js去重新请求了一个新的页面,真实的数据隐藏在一个json中

  • 分次加载,分成几次请求原始文件,base64编码的字符流每次请求文件的一部分,然后在客户端组装起来!当然在客户端的代码也是经过加密,这样会避免误伤用户也会过滤一些反爬,但是这个应用范围有限

反爬方式还有很多,毕竟博弈永远都是在不断进步
未完待续。。。

相关文章

网友评论

      本文标题:爬虫和反爬

      本文链接:https://www.haomeiwen.com/subject/qgnrhqtx.html