我可以用meteor.js刮? 刚发现cheerio
加之其出色的工作request
。 我可以使用这些用流星,或者是有什么相似?
你有一个工作的例子吗?
我可以用meteor.js刮? 刚发现cheerio
加之其出色的工作request
。 我可以使用这些用流星,或者是有什么相似?
你有一个工作的例子吗?
当然! 它坚硬想象流星做不到! 首先,你需要一些东西来处理远程HTTP请求。 在终端运行您的流星目录meteor add http
添加Meteor.http
包,也npm install cheerio
(看看如何安装NPM模块另一个SO问题 ,看看到底哪里安装外部NPM模块。
下面是可能会帮助你有点为例,它刮掉当前时间 。
服务器JS
require = __meteor_bootstrap__.require; //to use npm require must be exposed.
var cheerio = require('cheerio');
Meteor.methods({
getTime: function () {
result = Meteor.http.get("http://www.timeanddate.com/worldclock/city.html?n=136");
$ = cheerio.load(result.content);
CurrentTime = $('#ct').html();
return CurrentTime;
}
});
客户端脚本:
Meteor.call("getTime", function(error, result) {
alert("The current time is " + result);
});
我希望这是有帮助的。 之中与Cheerio也有其他节点框架如node.io
下面的代码中使用这个项目来刮tweetstorm:
if (Meteor.isClient) {
Meteor.call('getTweets', function (error, result) {
if (error) {
console.log("error", error);
};
Session.set("tweets", result);
});
Template.tweets.helpers({
rant: function () {
return Session.get("tweets");
}
});
}
服务器端
if (Meteor.isServer) {
Meteor.startup(function () {
var cheerio = Meteor.npmRequire('cheerio');
Meteor.methods({
getTweets: function () {
result = Meteor.http.get("https://twitter.com/Royal_Arse/status/538330380273979393");
$ = cheerio.load(result.content);
var body = $('#stream-items-id > li:nth-child(n) > div > div > p').text();
return body;
},
})
});
}
你可以看一下第http://casperjs.org/这是非常有用的。 你也可以做截图,自动测试,等等...
现在,你应该使用meteorhacks NPM包https://github.com/meteorhacks/npm ,并要求这一点:
var cheerio = Meteor.npmRequire('cherio');
为我工作:)