【问题标题】:Download external website with nodejs (including resources)用nodejs下载外部网站(包括资源)
【发布时间】:2015-06-16 04:15:11
【问题描述】:

我想用 nodejs 下载一个网页,比如http://www.stackoverflow.com。这意味着我有静态页面的离线副本。它必须下载资源(如样式、javascript 文件、图像等)并更新对本地资源的引用。

在任何情况下,我都希望一个打开后的离线页面看起来与真实页面完全一样。就像我在网络浏览器中选择文件->保存时发生的情况一样。

基本上我想复制

的功能
wget --page-requisites

(虽然这不能正确下载css和图片)

背景是我想在外部网站上执行Javascript。由于跨域策略,这(正确地)是不可能的。为了避免这种情况,我只想下载网站并自己静态托管,执行我的 Javascript 分析代码,然后将其删除。

【问题讨论】:

    标签: javascript node.js cross-domain


    【解决方案1】:

    我有点吐槽可以解决这个问题:

    js dom 这样的包可用于获取页面的所有脚本、链接、img 等的源 URL。然后,您可以 GET 并将这些资源中的每一个保存到您的本地环境中,并用指向您本地副本的新 URL 替换它们的 src 属性。然后,您可以将生成的 HTML 字符串化并保存。然后在 Node 中静态地提供包含目录。

    也许从节点内部运行wget --page-requisites 是最简单的解决方案?

    我很想知道最终的解决方案是什么。希望我说的有些帮助。

    【讨论】:

      猜你喜欢
      • 2014-07-21
      • 2014-02-28
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 2017-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多