我想下载一个网页,用nodejs说http://www.stackoverflow.com。这意味着我有静态页面的脱机副本。它必须下载资源(如样式,javascript文件,图像等)并更新对本地资源的引用。
无论如何,我想要一个打开的离线页面看起来就像真实页面一样。就像我在网页浏览器中选择文件>保存时所发生的那样。
基本上我想复制
的功能wget --page-requisites
(虽然这不能正确下载CSS和图像)
背景是我想在外部网站上执行Javascript。由于跨域策略,这是(正确地)不可能的。为了避免这种情况,我只想下载网站并自己静态托管,执行我的Javascript分析代码,然后将其删除。
答案 0 :(得分:0)
我对一个可以解决这个问题的解决方案嗤之以鼻:
像js dom这样的包可用于获取所有页面的脚本,链接,img等的源URL。然后,您可以GET并将每个资源保存到本地环境,并使用指向本地副本的新URL替换其src属性。然后,您可以对生成的HTML进行字符串化并保存。然后只在Node中静态地提供包含目录。
也许只是从节点内运行wget --page-requisites
是最简单的解决方案?
我很想知道最终解决方案是什么。希望我说的有用。