2016-12-13 106 views
0

我想要下載整個網頁以及使用PhantomJS在任何瀏覽器中呈現網頁所需的內容(包括css,javascripts,圖像,外部資源)。我不想執行腳本,只是簡單地解析CSS和JavaScript以獲得更多內容鏈接並下載它們。如何使用phantomjs下載包含所有相關內容的網頁

我嘗試使用像wget這樣的工具(確實是我所需要的,但速度很慢,因爲它使用單個tcp連接到網絡服務器)和httrack(下載整個網站,在我的情況下,我只想下載需要的內容通過遞歸地解析文件中的鏈接來呈現頁面)。我目前正在嘗試使用phantomjs,但找不到正確的方式來使用它。

任何幫助/指針是高度讚賞。

回答

0

嘗試使用此代碼:

var page = require('webpage').create(); 

var url = "your url goes here"; 
var fs = require('fs'); 
var path = 'index.html';//you might want to change format whether .json .txt etc. 

page.open(url, function (status) { 
    if(status !== 'success') 
     console.log('Connection failed, page was not loaded!'); 
    else 
     var content = page.content; 
     fs.write(path, content ,'w') 
     phantom.exit(); 
}); 

這必須給你的網頁的全部內容。如果您需要進一步的幫助,請讓我知道!

+1

謝謝亞歷克斯。問題是,這段代碼只是下載index.html文件。它不會下載呈現網頁所需的任何其他內容(css,js,外部資源)。 我的問題是,我想要一次下載內容,然後使用任何瀏覽器呈現內容,即使沒有互聯網連接,也不會面對單個HTTP 404。 – Dave

+1

雖然我不確定你是否可以用純** phantomJS **來做!檢查框架調用** CasperJS **,這可能有助於實現您的目標! –

+0

感謝指針亞歷克斯! – Dave

相關問題