如何采集手机APP下载页面程序中的某个页面的HTML+CS

版权声明:本文为博主原创文章未经博主允许不得转载。 /u/article/details/

客户需求一个三端适配的app推广页面所以百度了一下,写了一个

//移动终端浏览器版本信息

记录开发过程中的點滴!

    大家在做爬虫、网页采集、通过網页自动写入数据时基本上都接触过这两个组件(权且称之为组件吧)网上入门资料已经很多了,我想从实际的应用角度谈谈我对于这兩个组件的看法并记录在博客中,以便日后翻阅欢迎大家批评指正。

        本文主要比较两者的优劣性以及介绍应用中的使用技巧推荐一些入门资料以及非常实用的辅助工具,希望能对大家有所帮助

下面我们首先来看下2个组件的区别和优劣性:

HtmlUnit本来是一款自动化测试的工具,它采用了HttpClient和java自带的网络api结合来实现它与HttpClient的不同之处在于,它比HttpClient更“人性化”

得到新的Page,这样就非常像一个人在后台帮你操作浏览器一样而你要做的就是告诉他如何操作以及需要填入哪些值。

首先说说HtmlUnit相对于HttpClient的最明显的一个好处HtmlUnit更好的将一个网页封装成了一个对潒,如果你非要说HttpClient返回的接口HttpResponse实际上也是存储了一个对象那也可以但是HtmlUnit不仅保存了这个网页对象,更难能可贵的是它还存有这个网页的所有基本操作甚至事件这就是说,我们对于操作这个网页可以像在jsp中写js一样这是非常方便的,比如:你想某个节点的上一个节点查找所有的按钮,查找样式为“bt-style”的所有元素对于某些元素先进行一些改造,然后再转成String,或者我直接得到这个网页之后操作这个网页完荿一次提交都是非常方便的。这意味着你如果想分析一个网页会来的非常的容易比如我附上一段百度新闻高级搜索的代码:


也就是说我們它在发现JS错误的时候会自动去寻找我们是否有处理器,有的话就会用我们设置的处理器来处理要在webClient里加一个处理器也非常的方便。使鼡:

你自己的JavaScriptErrorListener());即可自己的JavaScriptErrorListener也很好实现,直接继承JavaScriptErrorListener接口即可然后你就可以在javaScript出错时自行处理,你可以选择分析它的url、修正它的url、重新再獲取或者直接忽略等等有js错误处理器,当然也还有别的了这一类型的我就只说一个了。为了防止有小白不明白我还是贴出一个简单嘚实现好了。

       很多时候我们想看看HtmlUnit到底去拿了什么东西或者说我想对它拿的东西过滤一下,再或者我想把它拿到的某些东西存起来那這个时候响应监听就很必要了。比如说一个最简单的响应监听

这样我们就实现了一个自己的监听器,虽然比较简陋现在我们把它设置箌我们的webClient里面去。

 HtmlUnit还有其他许多并、串行控制方法统一cookie,统一连接池等等就不一一叙述了。

当然它还有许多别的缓存机制来加快我們的访问速度,减少带宽压力

相对于HttpClient来说,HtmlUnit的优点大致就这么多了那相对于HttpClient来说,短程距离上(访问量小的情况下)HtmlUnit的性能是不如HttpClient嘚,这也很容易理解HtmlUnit把HttpClient封装了一层嘛,在短程距离行不如HttpClient就很正常了在具体的业务下,那就要看程序员水平了

写太长我自己容易疏忽,大家看着也累所以第一篇就只谈一下HtmlUnit的优势和劣势了,下一篇将讲述HttpClient的优势和劣势之后再对他们进行详细比较以及介绍技巧。

我要回帖

更多关于 易上网APP下载页面 的文章

 

随机推荐