1、网络爬虫攻防常见技巧

1.1、如何发现爬虫

  • 单一IP非常规的访问频次
  • 单一IP非常规的数据流量
  • 大量重复简单点的网站浏览行为
  • 只下载网页,没有后续的JS\CSS请求
  • 设置陷阱,使用hidden属性对用户隐藏标签但爬虫可见。
  • 判断请求头
  • 判断cookie

1.2、如何避免被发现

  • 多主机策略,分布式爬取。
  • 调整爬取速度
  • 通过变换IP地址或者使用代理服务器来演示
  • 频繁修改自己的User-Agent
  • Header中的Cache-Control修改为no-cache
  • 当返回状态码是403(服务器资源禁止访问),改变Header和IP。不断改变。

1.3、使用代理IP绕过验证码

  • 从网站上爬取代理IP地址(一般不可用)
  • 从淘宝上购买便宜的IP地址(2000条2块)
  • 购买正规的代理服务(昂贵)
  • 使用阿里云试试

1.4、某投票网站案例分析

地址

2、如何绕过验证码

2.1、总结的一些经验

  • 1、绕过验证码。跳过验证码直接访问需要的页面内容。
  • 2、请求头中自带验证码。有些网站的验证码会在前台js校验。服务器生成的验证码会在请求头中。可以获取请求头,并把验证码解析出来。
  • 3、session不刷新。国内很多网站存在一个通病:验证码验证成功后,直接获取请求资源。(忘记了刷新cookie对应的验证码)可以预先设定一个cookie和验证码。利用这个漏洞访问网站。对于多线程无法控制以及有些网站验证码定期不访问失效问题。可以添加一个定时访问程序来解决
  • 4、利用第三方插件。对于有些网站验证码比较简单。只含阿拉伯数字和英文字母。可以用第三方的插件来识别。例如:tess4j、tesseract
  • 5、有些网站的验证码是从库中随机取出一个来的。对于这类静态的验证码。可以自己建立一个验证码静态库。自己建立好图片和验证码答案的链接。采用map的映射方法就可以进行识别参见。
  • 6、自己定制写验证码的程序

标签: none

相关文章推荐

添加新评论,含*的栏目为必填