目標としていること
Node.jsでサーバーを構築しphantomjs, casperjs, spookyを利用してウェブクローリングしたデータをDBに保存させたいです。
###環境
Windows10
###やってみたこと
phantomjs, casperjsの設置は以下のように行いました。
cmd
1npm install -g phantomjs casperjs
versionはphantomjs@2.1.7とcasperjs@1.1.0-beta3です。
spookyの設置はプロジェクトフォルダ内で以下のように行いました。
cmd
1npm install spooky
versionはspooky@0.2.5です。
設置後、試しにspookyモデュールのフォルダ内のexampleファイル(hello.js)
js
1try { 2 var Spooky = require('spooky'); 3 4} catch (e) { 5 6 var Spooky = require('../lib/spooky'); 7} 8 9var spooky = new Spooky({ 10 child: { 11 12 transport: 'http' 13 }, 14 casper: { 15 logLevel: 'info', 16 verbose: true 17 }}, 18 19 function (err) { 20 21 if (err) { 22 var e=new Error('Fail'); 23 e.details=err; 24 throw e; 25 26 } 27 28 spooky.on('error',function(e){console.log(e);}); 29 spooky.on('console',function(line){console.log(line);}) 30 31 spooky.start('https://www.naver.com/'); 32 spooky.then(function(){ 33 this.capture('naver.png'); 34 }); 35 spooky.runn(); 36 } 37); 38 39 40spooky.on('error', function (e, stack) { 41 console.error(e); 42 43 if (stack) { 44 console.log(stack); 45 } 46});
の実行を以下のように
node hello.js
してみたところ、エラーが出ました。
error
1{ Error: Child terminated with non-zero exit code 1 2 at Spooky.<anonymous> (D:\中間経路…\node_modules\spooky\lib\spooky.js:210:17) 3 at ChildProcess.emit (events.js:182:13) 4 at Process.ChildProcess._handle.onexit (internal/child_process.js:237:12) details: { code: 1, signal: null } }
環境変数にphantomjs.exeの経路を指定した結果エラーは無くなりましたが次は以下のようなエラーが出ました。
error
1events.js:167 2 throw er; // Unhandled 'error' event 3 ^ 4 5Error: spawn casperjs ENOENT 6 at Process.ChildProcess._handle.onexit (internal/child_process.js:229:19) 7 at onErrorNT (internal/child_process.js:406:16) 8 at process._tickCallback (internal/process/next_tick.js:63:19) 9 at Function.Module.runMain (internal/modules/cjs/loader.js:746:11) 10 at startup (internal/bootstrap/node.js:238:19) 11 at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3) 12Emitted 'error' event at: 13 at Process.ChildProcess._handle.onexit (internal/child_process.js:235:12) 14 at onErrorNT (internal/child_process.js:406:16) 15 [... lines matching original stack trace ...] 16 at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3) 17
こちらも環境変数にcasperjs.exeの経路を指定した結果エラーは無くなりました。
しかしそれ以上エラーは吐き出さないのですがnode hello.jsで実行してもなにも起こらず終わってしまいます。解決方法をご存知な方がいらっしゃいましたら教えてください。お願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/22 22:42