Tech
挨踢的架构师
No pain, no gain...
展开
-
Unable to connect to host localhost on port 7055 after 45000 ms
People who are using Selenium/Crawljax may recently encounter this problem, "Unable to connect to host localhost on port 7055 after 45000 ms". The reason is that you are probably using Firefox 5.0, wh原创 2011-07-02 09:38:33 · 3728 阅读 · 0 评论 -
如何让Jobo支持中文
其实很简单!Jobo在解析HTML的时候用到了Tidy,但是Jobo引用的Tidy的版本有点旧了,只要去http://sourceforge.net/projects/jtidy/files/下载一个最新版本的包,替换掉Jobo中的Tidy.jar,一切搞定! 另:新版本的Tidy,在解析完页面之后,会将所有link做一下encode,所以如果需要显示这些link中的中文,你还需要用页面返原创 2011-06-29 13:01:00 · 1057 阅读 · 0 评论 -
Jobo Bug List
想不到Jobo的问题还真多,列举如下:1、缺省Jobo是用单线程跑的,需要自己扩展实现多线程代码;2、Jobo里面有个todo和visited列表,分别用于存放待抓取和已访问的task。但是,在多线程模式下,todo里面会出现很多重复的task,也就是visited没有起原创 2011-07-30 17:14:06 · 681 阅读 · 0 评论 -
Crawljax性能问题之我见
如果将Crawljax作为爬虫来用的话,有严重的性能问题,其问题主要在于其state管理机制,如下图:由于浏览器缺省情况下是不能保持ajax应用的状态的,因此也就无法利用浏览器的回退机制,从当前state回退到上一个state,这样就必须从最初始的index state开始一层层地往下走,直到目标state。如果是一个较大型的网站,或者是翻页较多的网站,其state的层次非常之深,那么原创 2012-01-19 17:00:12 · 3718 阅读 · 1 评论 -
避免hashcode重复
众所周知,Java中如果用String的hashcode作为key,将String保存到HashSet中,这样做是不太可靠的。原因就在于,String的hashcode有可能会重复。比如有这样一个场景,一个网络爬虫需要将所有爬取过的URL保存下来,以便于判断新获取的URL是否已经被访问过,这时就需要有一块内存空间来保存URL,或是保存能够唯一标识URL的ID,比如URL的MD5值或hashcode原创 2012-02-06 16:12:37 · 22543 阅读 · 5 评论 -
Cobra的javascript执行问题
最近正在寻找一个网站爬虫的解决方案,目标是不仅能够把网站的页面“爬”下来,而且需要能够执行页面中的某些js脚本,以求得到js执行后的页面DOM树,这个问题恐怕也是爬虫面对很多富Ajax网站页面时的共同问题吧?! 在阅读了Kyle的大作http://hi.baidu.com/zhizhesky/blog/item/e4b1f6fada2652d5b58f314e.html之后,决定研究一下C原创 2011-06-24 14:07:00 · 1130 阅读 · 0 评论 -
关于Linux下利用GPU对视频进行硬件加速转码的方案
RT,最近一直在研究Linux下利用GPU进行硬件加速转码的方案,折腾了很久,至今没有找到比较理想的硬加速转码方案。似乎网上讨论这一方案的文章也特别少,这个过程中也进行了各种尝试,遇到很多具体问题,以下便对之前所作的一些工作做一些总结和分享,省的时间长了自己也忘记了,也希望后来者能少走弯路,并找到适合自己的最佳方案。背景:项目需要在指定的Linux服务器上对视频源进行转码存储,以节原创 2012-06-13 17:38:31 · 19023 阅读 · 5 评论