我有一个奇怪的错误,在过去的几个小时里找不到它的原因......
我有一个流星应用程序,它可以抓取一些网页以获取信息,只要我对静态页面使用 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 来抓取一些网页:
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,但这对于使用它们的人来说并不像听起来那么容易首次...