使用ruby(clojure或javascript)保存entere网页

时间:2011-08-07 02:02:52

标签: javascript ruby clojure screen-scraping

我遇到了问题。我正在与食品供应商合作,我需要将每个订单的内容保存为html。订单在单个页面上列为链接,但这有两个难点

  1. Page使用身份验证(需要提前登录)
  2. 这是真正的问题:页面使用了大量的javascript。实际上一切都在不改变网址的情况下工作,所以我不能使用wget或rio gem(网址不像www.fooddoe.com/orderwww.fooddoe.com/order/1等,但总是像www.fooddoe.com/suplierx)。
  3. 我认为firewatir是一个不错的选择,但问题是我需要以类似于html(包括图像)的格式保存页面。是否有可能使用firewatir?在clojure或javascript中还有其他选项吗?

    非常感谢!!

1 个答案:

答案 0 :(得分:3)

我必须两次阅读你的问题才能理解你的意思。

从示例的网址中我假设这是您的供应商网页。所以恕我直言最简单的方法是:

  1. 查看网页来源,了解它是如何获取数据的(99%用于某种AJAX请求)。
  2. 请求转到响应它的服务器。
  3. 现在有两种方法:
    • 了解请求是如何制作的以及写入和应用程序来发出此类请求并生成带有它的网页(更难,更一般)
    • 联系您的供应商并获取原始数据库(更简单但一次性解决方案)
  4. 我认为这不是任何语言特有的问题。