Phantomjs 使用绝对url将幻影js处理过的页面保存到html文件中

Phantomjs 使用绝对url将幻影js处理过的页面保存到html文件中,phantomjs,absolute,Phantomjs,Absolute,我想在通过所有url将文档加载到特殊文件名后保存我的特殊网页,并将链接转换为绝对url,如wget-k //phantomjs var page = require('webpage').create(); var url = 'http://google.com/'; page.open(url, function (status) { var js = page.evaluate(function () { return document; }); console.log(js.all[0]

我想在通过所有url将文档加载到特殊文件名后保存我的特殊网页,并将链接转换为绝对url,如
wget-k

//phantomjs
var page = require('webpage').create();
var url = 'http://google.com/';
page.open(url, function (status) {
var js = page.evaluate(function () {
return document;
});
console.log(js.all[0].outerHTML);
phantom.exit();
});
例如,我的html内容如下:

<a href="//page.html">page</a>

一定是

<a href="http://google.com/page.html">page</a>


这是我的示例脚本,但是如何使用phantomjs转换所有url和链接,例如
wget-k

phantomjs并不真正支持它,它不仅仅是一个HTTP客户端。想象一下,如果有一个JavaScript代码在主登录页上随机抽取一个带有图像的内容

解决方法是替换DOM中所有引用的资源,这对您来说可能是,也可能不是。这可以使用一些CSS3选择器(href表示a,src表示img等)和相对于基本URL的手动路径解析。如果您确实需要跟踪和登记每个资源URL,请使用该功能


最后但并非最不重要的一点是,要获得生成的内容,您可以使用
page.content
,而不是使用
evaluate
outerHTML
,,您可以修改最终的HTML,使其具有
标记-这将使所有相关URL正常工作。在您的情况下,请尝试将
放在页面上的
后面。

0\o您的答案和我的问题之间有什么关系。哎呀,这是一个复制粘贴错误。现在更正!