-1

我在 Mac OSX 上,我一直在尝试将 Node.js 与 Crawler 一起使用。现在我刚刚按照说明安装了以下步骤:

  • git clone git://github.com/ry/node.git
  • cd node
  • ./configure
  • make
  • sudo make install
  • curl http://npmjs.org/install.sh | sh
  • npm install crawler

一旦我安装了最后一个(Crawler),当我test/simple.js在其示例中测试运行时,我会收到以下错误:

The "sys" module is now called "util". It should have a similar interface.
http://jamendo.com/
http://tedxparis.com

/crawler/node_modules/crawler/lib/crawler.js:74
                        response.body = body;
                                      ^
TypeError: Cannot set property 'body' of undefined
    at Object.callback (/crawler/node_modules/crawler/lib/crawler.js:74:39)
    at Request._callback (/crawler/node_modules/crawler/lib/crawler.js:70:43)
    at /crawler/node_modules/crawler/node_modules/request/main.js:119:22
    at Request.<anonymous> (native)
    at Request.emit (events.js:67:17)
    at Object._onTimeout (/crawler/node_modules/crawler/node_modules/request/main.js:532:12)
    at Timer.ontimeout (timers.js:84:39)

这意味着Crawler还没有工作。我该如何解决?

4

2 回答 2

1

你有几个选择:

  • 尝试更新版本的 Crawler
  • 使用旧版本的 Node
  • 使用不同的模块(推荐,因为 Crawler 已经过时了)
  • 自己修复 Crawler(并提交你的补丁!但似乎没有人再维护这个项目了)

如果这只是一次性错误,您可以将整个事情包装在 try/catch 中并根据需要进行处理。

于 2012-06-16T14:27:12.957 回答
-1

您可能也有兴趣尝试我的 Node Crawler ( https://github.com/ecdeveloper/node-web-crawler )。它不是一个模块,而是一个独立的网络应用程序。它使用 Mongo、Express、Socket.io、Twitter 引导程序。

于 2013-03-04T10:31:39.630 回答