使用nodejs(包括资源)下载外部网站

时间:2015-06-15 17:08:20

标签: javascript node.js cross-domain

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

无论如何,我想要一个打开的离线页面看起来就像真实页面一样。就像我在网页浏览器中选择文件>保存时所发生的那样。

基本上我想复制

的功能
wget --page-requisites

(虽然这不能正确下载CSS和图像)

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

1 个答案:

答案 0 :(得分:0)

我对一个可以解决这个问题的解决方案嗤之以鼻:

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

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

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