前一段时间写了一段抓取网页的程序,感到这个很简单,最近要搜寻网上信息,于是也打算写一个程序来做这件事,不过这次涉及到多个网站,格式很不规则,写来写去,貌似变成一个垂直爬虫了,略有心得,凑一篇博客吧。 作为一个java程序员,我选择最简单的方式──用ruby来做,使用的技术储备包括: 1. 任务编写工具,用rake就足够了,很方便 2. html解析器:用Hpricot,它支持各种定位方式,据说底层用C,因此性能不错 3. 另外还要一些支持库:例如地址处理使用uri、网页抓取使用net/http,编码转换使用iconv等等。 既然是爬虫,那么通过网页上的链接进行网页抓取是基本功能,显然,这是 ...
表现为能够mount,但是不能umount bash 代码 $ umount /media/other   umount: /media/other mount disagrees with the fstab   检查fstab文件: 文件内容   # /dev/sda7   UUID=c2181b73-0e36-4fba-8f53-9538ab09703 ...
2007-10-12

prototype确实实用

关键字: javascript
今天解决一个bug时花了很长时间分析定位。 起因是我们自己写了一个tab函数,用来支持网页上分tab显示内容,可以局部更新,支持缓存和刷新。 但是后来发现,refresh content的时候采用AJAX方式取数据,而数据中的js脚本并不会执行。一开始不知道为什么会这样,我一直以为只要设置innerHTML就会执行包含的js,单独写了两个页面用prototype的Ajax.updater试验,也是可以执行的,真是搞不懂。 前辈教导我们,搞不定的时候读源码永远是一个好主意。于是看prototype──哦,原来如此: javascript 代码   upd ...
2007-09-25

IE固定定位

关键字: IE CSS Fixed Position 全兼容 固定定位
等到皮匠网推广的时候一定要写上推荐使用firefox,IE实在有太多的怪问题了,还缺少一些重要的特性。 今天就遇到一个: 常常能看到一些网站,某些内容是固定显示在浏览器的某个位置,非常适合显示辅助用户的提示信息。今天研究了一下这个问题,发现其实很容易,CSS的 position设置为fixed就可以,困难的在于──IE 6不支持这个特性,结果非要绕个弯子实现,不但开发麻烦,而且最后的效果也远不如firefox之类的专业浏览器(在这个问题上,IE 6只能算是业余水平,好在IE 7改正了这个错误)。 最后搞了一个全兼容的方案,虽然不太好看,好歹能用。 我把例子放在附件中,下 ...
2007-08-25

用active mailer发送gmail信件遇到的两个问题

关键字: active mailer gmail PERM_FAILURE
1.gmail似乎是为了解决垃圾邮件问题,有时候发信会被退回,提示信息如下 代码   Technical details of permanent failure:   PERM_FAILURE: Message rejected for Sector 5 policy reasons   不懂这个“Sector 5 policy”是什么地方的东西,也不知道怎么解决。 ...
2007-08-16

yum 还是不如 apt 阿

关键字: yum apt
今天搭建网站基本系统,时间紧迫,只好先在CentOS上搭建了。 以前没有怎么用过yum,只知道它是学习了apt的做法,把rpm纳入repository的管理了。 今天发现它的设计的不好: bash 代码   ... glibc-kernheaders-0-2.4-8 100% |=========================|  25 kB    00:00        la ...
2007-08-07

ejrails 开始

关键字: extjs rails
准备做一点web方面的基础性工作,为以后的开发提供平台支持。 在wiki上写了几句话,抄过来: 引用 在rails成功在哪里中,我提到rails充分绑定和利用了一个js库──prototype,以便于我们打造覆盖浏览器和服务端的展现组件。      但是,仅仅使用prototype还不够,对于很多应用,需要大量的widget支持。这要求js库支持这些widget,而且还要易与 server端技术集成,目前比较好的js库有两个──dojo和extjs。前者的优点是一套autoload的widget系统 ...
2007-07-30

google trend不错

关键字: google trend ruby
今天用了一下google trend,感觉还不错。 其实原理很简单,就是统计计算各种关键字的搜索频率变化趋势,不过因为是来源于google这个全世界第一的home page,所以信息量大,因此也具有统计价值。 举个例子,我们可以研究一下ruby和python。 ruby    python   2004年趋势: 2005年趋势: 2006年趋势: 2007年趋势: 可以看出,在2006年以前ruby还赶不上python的发展,顶多可以说二者的使用率基本上的相互交错的(这可能与一些基于 ...
2007-07-22

ubuntu自带的rubygems有问题

关键字: ruby ubuntu rubygems
安装rails,一般都会安装rubygems,但是如果用ubuntu的apt安装gem,安装后的gem会有异常: bash 代码   $ sudo gem update --system   ...   ... (Gem::GemNotFoundException) Could not find rubygems-update (> 0) in the rep ...
今天看extjs自己的build系统,突然产生一个想法──根据页面需要,我们也许可以定制需要包含的extjs库的内容。 1.每个页面在包含js时可以设置自己的组件,例如: rhtml 代码 <%= ext_get 'Core-Utilities','Grid-Core','Core-State Management',     'Data-Core','Data-JSON Support' %>   2.在ext-get中,我们组织一个url ...
今天尝试了一下组件,其实很简单,就是在rhtml中这么写: ruby 代码   <%= render_component(:action => 'basic_info') %> 然后完成对应的action(这个例子中叫做basic_info),rails就会把action输出的内容render后装入rhtml中。 当然,我们不能忘记layout这个东东,所以要在action上写一句: ruby 代码   render :layout => ...
fsword
搜索本博客
存档
最新评论