Ruby ruby 定向爬虫设计

changwu · 2012年08月29日 · 最后由 tassandar 回复于 2012年08月29日 · 6978 次阅读

在考虑 ruby 弄个比较完整的定向爬虫工具,希望能够做到能够定时、多线程、可配置。 希望大家能给点意见,怎么做比较合适。谢谢。

定时,可配置都很简单,多现成就没必要了

为什么多线程没有必要??

#1 楼 @laoxiong 是不是因为 ruby 本身没有多线程的缘故??

并行抓当然有必要 直接写代码然后养大就行了啊

#4 楼 @reus ,有没有什么思路啊。。。我想用 rufus-scheduler 就不知道能支持多线程。

c ruby 的多线程,貌似在多核下不能并行吧?以前倒是听说 jruby 在 jvm 下可以。还不如做多进程,效果一样,效率有保障。以上是我的猜测,嘿嘿。

#6 楼 @ayumi043 1.9 应该可以跨多核的,爬虫对并发的要求不是很高,多线程应该足够了

https://github.com/typhoeus/typhoeus 这个直接就支持并行抓了

是封装了 libcurl / libcurl-multi 的,跟 ruby vm 自己的线程没关系

#8 楼 @reus 谢谢,我去好好看看。。

#9 楼 @cxh116 ,还在研究如何调度这块。这个 anemone 是后面解析要用,不过它很久没有更新了,:(。

https://github.com/chriskite/anemone/tree/master 作者貌似三个月前有更新

它的代码量很少的,核心代码在三四个文件里面,你自己写调度的话可以参考一下它的

#12 楼 @cxh116 ,之前有看过一阵它,一开始就想基于它的,所以在找调度、多线程方案。再和 typhoeus 比较比较。。

把调度和执行,解析都分开做,用 redis 串起来,可扩展性强些,其中任何组件都可以横向扩展

需要 登录 后方可回复, 如果你还没有账号请 注册新账号