奇妙なエラーが発生し、ここ数時間原因がわかりません...
情報を得るためにいくつかの Web ページをスクレイピングする meteor アプリがあり、静的ページに reuqest と Cheerio を使用している限り、すべて正常に動作しますが、現在は動的サイトがあり、これに phantomjs、casperjs、および spookyjs を使用したいと考えていましたが、ここでバグが発生します...私のコードは次のとおりです。最初にnpmモジュールをインポートします。
if (Meteor.isServer) {
var cheerio = Meteor.npmRequire('cheerio');
var request = Meteor.npmRequire('request');
var phantomJS = Meteor.npmRequire('phantomjs');
var spooky = Meteor.npmRequire('spooky');
そしてしばらくして、spooky を使用して Web ページをスクレイピングしたいと考えています。
spooky.start("https://www.coursera.org/");
spooky.then( function () {
this.fill("form", {email: user, password: pass}, true);
});`
しかし、メソッドを呼び出すとすぐに、次のエラー メッセージが表示されます。
20150224-21:16:39.100(-5)? Exception while invoking method 'getLecturesCoursera' TypeError: Object function Spooky(options, callback) {
....
I20150224-21:16:39.281(-5)? } has no method 'start'
I20150224-21:16:39.281(-5)? at [object Object].Meteor.methods.getLecturesCoursera (app/moocis.js:72:14)
私は完全に間違ったことをしており、それが機能しない理由がわかりません... spookyjs と phantomjs がアプリに正しくインストールされていることを確認しようとしましたが、それらを使用している人にとっては思ったほど簡単ではありません初めて...