最近一直用htmlunit工具来抓数据,完成各类目标网站自动登录抓取各类数据。过程中碰到了各类问题,自己慢慢摸索,但最终还是一一的解决。后面会贴一些代码上来,不至于让文章看看起空荡荡的。
附上一些总结:
1.抓取数据主要两种方案:一、模拟浏览器操作 二、抓包,个人在采取两种方案时候会交换使用
2.对于有验证码的,个人处理办法:抓取验证码到swing面板,手动输入,后写个窗体定时请求成功后的登录地址,保持session的存活。验证码识别成本高。
3.对于js、ajax处理界面时候,线程暂停几秒是需要的(根据实际情况而定);获取iframe数据通过getEnclosedPage()方法;对于填充数据网上一般用setValueAttribute(),在碰到一个项目中用的是angularjs,此方法失效采用type()方法;
4.自己本身还不断学习中,用好这个htmlunit需要多阅读文档。这方面国内资料少,我会看stackoverflow里面关于htmlunit的提问,很多自己碰到的问题其实老外都已经碰到了。
htmlunit最新下载地址:http://sourceforge.net/projects/htmlunit/?source=directory
stackoverflow关于htmlunit的提问:http://stackoverflow.com/search?q=htmlunit