// 부모 JS 파일

var express = require('express');

var app = express();

var bodyParser = require('body-parser');

var casperProcess = (process.platform === "win32" ? "casperjs.cmd" : "casperjs");

var spawn = require("child_process").spawn



var child = spawn(casperProcess, ['index8.js']);

child.stdout.setEncoding('utf8');


app.use(bodyParser.json());

app.use(bodyParser.urlencoded({ extended: false }));

var result;

app.get('/', function(req, res, next) {


    child.stdout.on("data", function(data) {

        result += data;

        console.log(data);

    });


    child.stderr.on("data", function(data) {

        console.log("spawnSTDERR:", JSON.stringify(data));

    });


    child.on("close", function(code) {

        console.log("자식 프로세스 종료");

        res.send(result);

    })


});


app.listen(180, function() {

    console.log('Crawling app listening on port 180!');

});


// 자식 index8.js 파일
var casper = require('casper').create({
    logLevel:   "error",
    verbose:    true
});

var url = "http://ladder.named.com/main.php";

casper.start(url,function(){
this.echo("캐스퍼 시작");
});

casper.run(function(){
this.echo(this.getHTML()).close();
});


부모 파일에서 casperjs 자식 프로세스를 만든후에 

실행후 종료되었을때 웹으로 출력


핵심포인트...

this.echo(this.getHTML()).close();

 child.on("close", function(code) {

        console.log("자식 프로세스 종료");

        res.send(result);

    })


블로그 이미지

칩사마코더

,