Я создаю инструмент для сканирования страницы и локального сохранения ее HTML.
Также загрузите этот HTML-код на веб-страницу с помощью iframe.Поэтому у меня есть события unbind и bind на просканированной странице.
Я использую PhantomJS для получения данных веб-страницы.
Веб-страницы, которые отображают данные с помощью JavaScript, невозможно выполнить.Есть ли способ в PhantomJs сделать это?
Код для получения данных веб-страницы после загрузки страницы с использованием PhantomJs:
PHP-код для оболочки, выполняющий команду phantomJs
$shelldata = exec(PHATOM_JS_PATH."bin/phantomjs ".PHATOM_JS_PATH."/phantomcode.js $WEB_URL > webpage.html 2>&1");
Образец 1
var system = require('system');
var page = require('webpage').create();
var args = system.args;
page.onLoadFinished = function(status) {
// console.log('Status: ' + status);
console.log(page.content);
phantom.exit();
};
if(args.length > 1){
page.open(args[1], function(status) {
if(status == "success"){
}else{
console.log("Invalid");
phantom.exit();
}
});
}else{
console.log("Invalid");
phantom.exit();
}
Образец 2
var system = require('system');
var page = require('webpage').create();
var args = system.args;
if(args.length > 1){
page.open(args[1], function(status) {
if(status == "success"){
setTimeout(function() {
console.log(page.content);
phantom.exit();
}, 200);
}else{
console.log("Invalid");
phantom.exit();
}
});
}else{
console.log("Invalid");
phantom.exit();
}