2016-12-13 4 views
0

Я хочу загрузить всю веб-страницу вместе с контентом (включая css, javascripts, images, external resources), которые могут потребоваться для рендеринга веб-страницы в любом браузере с помощью PhantomJS. Я не хочу выполнять скрипты, но просто разбираю css и javascripts для получения дополнительных ссылок на содержимое и их загрузки.Как загрузить веб-страницу со всем связанным контентом с помощью 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

 Смежные вопросы

  • Нет связанных вопросов^_^