摘要: 上一篇讨论了web driver对动态网页的抓取与分析,可以很清楚的看出这是一种集中式处理方式,简单说,就是利用服务器,打开一个真正的brower,然后将需要解析的地址交给浏览器,浏览器去解析,然后将结果返回。这样正如网友评论一样,效率上不好,其实我想说的是,如果质提不上去,可以采用量的方式,比如开多线程处理,多开几台机器处理,虽然单个不快,量多后,处理速度就上去了。当然这也不是什么特别好的方法。 先谈谈他的不好之处: 首先,依赖浏览器的驱动,无论使用ie,firefox,chrome,都需要启动其driver,才能进行操作。 其次,对响应结果控制力度不够自由,比如有些网页我需要一个... 阅读全文
posted @ 2013-08-19 20:37 yhdino 阅读(13160) 评论(5) 推荐(3) 编辑
摘要: 没错,最后我还是使用了Selenium,去实现上一篇我所说的问题,别的没有试,只试了一下firefox的引擎,总体效果对我来说还是可以接受的。 继续昨天的话题,既然要实现上篇所说的问题,那么就需要一个可以执行js代码的框架。我首先选择的是htmlunit,先简单介绍一下htmlunit。下面一段摘自网络。htmlunit 是一款开源的 java 页面分析工具,启动 htmlunit 之后,底层会启动一个无界面浏览器,用户可以指定浏览器类型:firefox、ie 等,如果不指定,默认采用 INTERNET_EXPLORER_7:WebClient webClient = new WebCl... 阅读全文
posted @ 2013-08-16 21:02 yhdino 阅读(31194) 评论(3) 推荐(3) 编辑
摘要: 由于别的项目组在做舆情的预言项目,我手头正好没有什么项目,突然心血来潮想研究一下爬虫、分析的简单原型。网上查查这方面的资料还真是多,眼睛都看花了。搜了搜对于我这种新手来说,想做一个简单的爬虫程序,所以HttpClient + jsoup是一个不错的选择。前者用来管理请求,后者用来解析页面,主要是后者的select语法很像jquery,对于用js的我来说方便太多了。 昨天和他们聊天的时候,他们选用了几个著名的开源框架使用,聊着聊着就发现原来他们目前还没有办法抓取动态的网页,尤其是几个重要的数字,例如评论数,回帖数等等。大致了解了一下,例如TRS的爬虫,对于js的调用,需要写js脚本,但是分... 阅读全文
posted @ 2013-08-15 22:36 yhdino 阅读(28210) 评论(11) 推荐(4) 编辑
摘要: 一切从“切糕”开始。最近老是听到这个词,暂时就这么引用好了,实在找不到什么合适的词来形容。 一个饼图是由多个切糕组成。PS:本想简单的画两个椭圆,然后再描几条线,改改颜色就实现饼图,结果发现比一块一块老实画要复杂,干脆老老实实一个一个绘好了。 先看一个切糕的样子,如图:这个切糕是从20度开始,旋转60度结束。 那么一个切糕由几个部分组成,这个问题容易回答,5个部分,分别是上,下,左,右,外,如下图: 实在找不到什么合适的字来形容,就将就的看一下吧。按照我的理解,3D就是由多个平面组成,上图五个平面按照顺序拼装起来,就是一个3D的切糕。假如说要看上去像3D的切糕,那么如果上图顺序是1... 阅读全文
posted @ 2013-05-07 16:19 yhdino 阅读(1572) 评论(1) 推荐(0) 编辑
摘要: 上周突然收到一个需求,希望在地图上显示3D pie chart,虽然以前没用过flex的pie chart 控件,但是略有耳闻,谁知到详细看了一下,发现本身所能集成使用的pie chart是一个2维组件,使用3维看来需要再了解一下具体方法。 方法一:首先想到的是能否使用我们以前常用的绘图控件,例如Funsion Charts。Funsion Charts提供了一套很漂亮的图形解决方案,只要将组装好的XML格式数据提供给它,就可以输出漂亮的3D图形。 方法二:前段时间看了一下flex的绘图,感觉可以试试,所以采用shape.graphics的绘制方法绘制一个3D的pie chart。 ... 阅读全文
posted @ 2013-04-23 11:34 yhdino 阅读(1663) 评论(1) 推荐(2) 编辑
摘要: 上一篇讨论了如何实现B/S结构的一机多屏,下面讨论一下具体的实现方法,由于作者是做Java开发的,所以采用Applet来实现一机多屏的效果。 采用Applet获取客户端的屏幕,然后用拼装成自己需要的字符串。举例如下:View Code 1 import java.applet.Applet; 2 import java.awt.AWTException; 3 import java.awt.GraphicsDevice; 4 import java.awt.GraphicsEnvironment; 5 import java.awt.HeadlessException; 6 impor... 阅读全文
posted @ 2013-03-26 10:42 yhdino 阅读(1930) 评论(1) 推荐(0) 编辑
摘要: 简单介绍:通常情况一机只接一个屏幕,但在特殊岗位上一个机器可能接多个屏幕,一机多屏就是要能自动识别客户端屏幕数量以及屏幕分辨率,自动为用户打开多个屏幕并展示。 实现方式:对于B/S系统来说,困难在于对客户端的控制度太小,由于Javascript是在浏览器里执行,无法知道客户端的具体情况,所以在客户端植入一个小的程序才能实现对客户端情况的了解。 具体实现方法讨论: a) Ocx控件,使用Ocx控件可以实现对客户端情况的了解。 优点:Ocx控件由微软开发,所以对ie支持良好,可以使用dephi开发。 缺点:对其他浏览器支持不友好,需要安全认证,对开发以及使用者有版本要求。 b) A... 阅读全文
posted @ 2013-03-22 10:03 yhdino 阅读(513) 评论(0) 推荐(0) 编辑
摘要: 老早就想注册发稿,无奈自己文字功底差,不善写作,最后都不了了之。以前总是拿工作忙来当借口,今年开始这个借口也站不住脚了,从这里学了很多东西,也该和大家分享,共同进步才是我的最终目标。 今年终于可以歇歇了,领导安排我的工作比较轻松,主要负责新技术的研发、预言,相对来说这方面我还是很有兴趣的,做一些维保不是我所擅长的。说实在的,我认为自己不是一个优秀的开发人员,coding能力一般,也缺乏吃苦耐劳的精神。我所擅长的是发现以及解决问题,我总觉得当前的技术已经很不错了,有些需求也许没有现成的解决方案,但是如果把已有的技术拼拼凑凑也许就能解决。 最后,随便写写也不知道该写些啥,第一篇博文就不讨论... 阅读全文
posted @ 2013-03-22 09:39 yhdino 阅读(204) 评论(1) 推荐(0) 编辑