Пишу программу на phantomjs, после отработки скрипта phantomjs необходимо сохранить полученную информацию.
Изначально я пытался в скрипте который запускает phantomjs выполнить обращение к mysql и сохранить данные в табличку, вот так запускаю:
phantomjs goview.js
далее в логике goview.js вызываю функцию сохранения:
это отдельный файл fn.js
var mysql = require('mysql');
module.exports.saveTasks2 = function(module, tasks){
var connection = mysql.createConnection({
host : '127.0.0.1',
user : 'root',
password : '',
database : 'phantom_muse'
});
var insert = {name_modele_parse: module, json_task: JSON.stringify(tasks)}
var query = connection.query('INSERT INTO tasks SET ?', insert, function(err, result) {
console.log(err);
console.log(result);
if(err===null){
console.log("OUT>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
console.log(tasks)
connection.end();
return true;
}
else
{
console.log('error save')
connection.end();
return false;
}
});
}
в результате эта команда пишет мне ошибки подключения модулей:
Error: Cannot find module 'crypto'
phantomjs://platform/bootstrap.js:299 in require
phantomjs://platform/bootstrap.js:263 in require
phantomjs://platform/Connection.js:2
Error: Cannot find module 'url'
phantomjs://platform/bootstrap.js:299 in require
phantomjs://platform/bootstrap.js:263 in require
phantomjs://platform/ConnectionConfig.js:2
TypeError: Object is not a constructor (evaluating 'new ConnectionConfig(config)')
phantomjs://platform/index.js:14 in createConnection
phantomjs://platform/api.js:8 in saveTasks2
phantomjs://platform/pagin.parsero.js:29 in parse
в общем порывшись в сети я пришел к следующему: использовать exec (модуль executive)
но и команда exec не запускается из под phantomjs. в общем куда не копмни везде забор который я не могу перелезть.