虽然自动爬虫扫描用起来很简单,但是存在如下缺点:
1. 不支持非普通的搜寻,例如动态生成的菜单或者复杂的javascript脚本,这样导致搜寻的页面不全
2. 隐藏在经过编译的客户端对象里面的链接,例如java applet或者flash不能被爬虫发现
3.多级功能往往不能接收由自动扫描工具提交的随意的数据,例如注册用户名的时候,往往需要填写正确的电话号码、email地址
4.为了避免扫描死循环,自动扫描往往把URL作为扫描的唯一标示符,也就是一个url扫描一次。但是对于某些情况,同一个URL可能会根据参数值返回不通的函数和内容进行下一步的处理。例如在使用网银的时候往/account.jsp发送请求,网银根据参数值决定下一步的行动。因此自动扫描器对一个URL只扫描一次往往会错过很多页面内容
5.URL数据里面可能被服务器放入了不是用来确定资源的volatile数据,这些数据每次请求都不一样,看起来总是像新的URL,这些数据可能导致扫描器死循环
6.虽然扫描器配置了认证之后能够通过认证后爬取页面,但是认证可能被以下几点原因打断
a. 爬虫扫描可能请求了退出按钮
b. 某些敏感的功能,接收到异常数据后有可能异常退出此次session
c, 服务器可能对每个页面添加了独特的token,自动爬虫扫描很可能不能有效处理这些token