我想保存一個網站,我後來想在Nginx上使用它。在我的瀏覽器中保存與PhantomJS像ctrl + s的網站
我可以成功地page.render創建網站的圖像,它看起來不錯,但我不需要這樣的內容。
我試圖做fs.write( 「index.html的」,page.content, 'W')
即生成與圖像的差不多好了HTML文件,但它看起來真的了,我相信問題是,它取決於javascript,css和其他文件。 (並且它還提供了文件很多404)
如果我CTRL +小號使用鉻網站,所有的文件上傳到Nginx的,它的工作原理正是我需要的方式。 但我需要它自動週期性發生的,所以我想用PhantomJS(或選擇,如果它是不可能在PhantomJS)
作爲一個方面說明,我想wget -m URL
,它也不能工作。
這裏是PhantonJS腳本,對截圖作品:
function capture(sizes, callback) {
var page = require('webpage').create();
page.viewportSize = {width: sizes[0], height: height};
//page.zoomFactor = 1;
page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
} else {
page.scrollPosition = {
top: 100,
left: 0
};
window.setTimeout(function() {
console.log("Generating:" + sizes[0]);
var filename = output + "_" + sizes[0];
page.render(filename + '.jpeg', {format: 'jpeg', quality: qual});
page.close();
callback.apply();
}, 5000);
}
});
}
它沒有工作。 問題是,該網站是由JavaScripts動態生成的。也似乎我不得不向下滾動以獲得額外的內容。 (在phantomJS中,我做了一個page.scrollposition,top = 100;並讓該站點計算5秒鐘) 還存在與.js腳本的衝突 –
請擴展您的問題,展示最小工作量的PhantomJS代碼示例。 – Vaviloff
我在主要問題上添加了代碼 –