Meteor.http メソッドでフェッチしている HTML ページからリンクをスクレイピングできるようにしたいと考えています。サーバー側でjQueryを使用するのが理想的ですが、これはうまくいかないと思います。
2 に答える
jquery と同じように、さらにスクレイピング用のCheerioを使用することを検討してください。私は以前にこれに答えようとしたので、今回はより良い仕事をしたいと思っています.
これは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日にこれを手に入れました
github.com/meteor/meteor と同じ
Akshat が示唆するように、cheerioを使用しますが、現時点では、Meteor 0.8.0 では別の使用方法をお勧めします。
まず、Meteor 用の npm をインストールします。
$ mrt add npm
次に、次のように変更packages.json
します (もちろん、cheerio の別のバージョンや他のノード パッケージを使用することもできます):
{
"cheerio": "0.15.0"
}
(server.js
またはサーバー側コードのその他のファイル) で、次のように開始します。
var cheerio = Meteor.require('cheerio');
チェリオは好きなように使ってください。
実行$ meteor
すると、cheerio が自動的にインストールされます。