在node.js中进行屏幕抓取的最优雅方法是什么?

时间:2011-03-26 08:46:54

标签: node.js screen-scraping

我正在将一个在node.js中使用大量屏幕抓取的网络应用程序混合在一起。我觉得我在每个角落都在与当前的战斗作斗争。必须有一种更简单的方法来做到这一点。最值得注意的是,有两件事令人恼火:

  1. Cookie传播。我可以从响应头中拉出'set-cookie'数组,但是执行字符串操作来解析数组中的cookie感觉非常hack。

  2. 重定向以下内容。我希望每个请求在返回302状态代码时遵循重定向。

  3. 我遇到了看起来有用的两件事,但最后我无法使用:

    是否有任何JavaScript screenscraping-esque库传播cookie,遵循重定向并支持HTTPS?有关如何使这更容易的任何指示?

3 个答案:

答案 0 :(得分:4)

我实际上有一个刮刀库https://github.com/mikeal/spider它非常好,你可以使用jquery和路由。

欢迎反馈:)

答案 1 :(得分:3)

你可能想要从mikeal查看https://github.com/mikeal/request,我刚跟他谈到了聊天室,他说它目前还没有处理cookie但是你可以在此期间编写一个子模块来处理这些问题。

关于重定向它处理得很漂亮:)

答案 2 :(得分:3)

事实证明有人为node.js制作了一个phantomjs模块:

https://github.com/sgentle/phantomjs-node

虽然幻像相当重,但它还支持SSL,cookie以及典型浏览器支持的所有其他内容(因为它毕竟是webkit浏览器)。

试一试,它可能正是您所寻找的。