如何使用Meteor解析HTML服务器端?

时间:2013-02-22 22:42:54

标签: meteor

我希望能够从我使用Meteor.http方法获取的HTML页面中删除链接。在服务器端使用jQuery是理想的,但我认为这不起作用。

2 个答案:

答案 0 :(得分:13)

考虑使用cheerio就像jquery一样,但更多用于抓取。我之前试图回答这个问题,所以我希望这次能做得更好。

它是一个npm模块,所以第一步用终端安装它(在项目目录中):

meteor add http
cd .meteor
npm install cheerio

现在代码:

您需要在服务器js /或等效的

中使用它
var cheerio = __meteor_bootstrap__.require('cheerio');
Meteor.methods({
last_action: function() {
       $ = cheerio.load(Meteor.http.get("https://github.com/meteor/meteor").content);
       return $('.commit-title').text().trim()      
    }
})

如果从客户端js运行此命令,您将在meteors github分支上看到最后一个操作:

Meteor.call("last_action",function(err,result){ console.log(result) } );

我今天截止日期/ 2月23日

enter image description here

与github.com/meteor/meteor上的相同

enter image description here

答案 1 :(得分:10)

使用cheerio,正如Akshat建议的那样,但我建议使用不同的方式来使用它,截至目前,对于Meteor 0.8.0。

首先,安装npm for Meteor

$ mrt add npm

然后将packages.json修改为(当然您可以使用不同版本的cheerio或其他节点包):

{
  "cheerio": "0.15.0"
}

server.js(或任何其他文件,在服务器端代码中)开始:

var cheerio =  Meteor.require('cheerio');

以你喜欢的方式使用cheerio。

运行$ meteor后,它会自动安装cheerio。