【问题标题】:Node.js Crawler ErrorNode.js 爬虫错误
【发布时间】:2012-06-16 12:15:16
【问题描述】:

我在 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

一旦我安装了最后一个(爬虫),当我测试运行 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 还不能工作。我该如何解决?

【问题讨论】:

    标签: node.js web-crawler npm


    【解决方案1】:

    你有几个选择:

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

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

    【讨论】:

    • 对不起? Crawler is very out of date??
    • 是的,一年多没更新了,对于Node.js来说已经是很长的时间了。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-07
      • 1970-01-01
      • 1970-01-01
      • 2012-01-31
      • 2018-09-11
      相关资源
      最近更新 更多