13

meteor.js でスクレイピングできますか? cheerioと組み合わせて優れた機能を発揮するものを発見しましrequestた。これらを流星で使用できますか、または同様のものはありますか?

実際の例はありますか?

4

4 に答える 4

21

もちろん!メテオができないことを想像するのは難しいです!まず、リモートの http リクエストを処理するための何かが必要です。ターミナル実行の meteor ディレクトリで、パッケージmeteor add httpを追加します( npm モジュールのインストール方法に関する別の SO の質問を見て、外部 npm モジュールをインストールする場所を正確に確認してください。Meteor.httpnpm install cheerio

これはあなたを少し助けるかもしれない例です、それは現在の時間をかき集めます。

サーバー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 などの他のノード フレームワークもあります。

于 2013-02-09T21:23:33.597 に答える
0

非常に便利なhttp://casperjs.org/を見ることができます。スクリーンショット、自動テストなどを行うこともできます...

于 2013-06-17T20:44:47.080 に答える
0

これで、 meteorhacks npm パッケージhttps://github.com/meteorhacks/npm を使用し、これを次のように要求する必要があります。

var cheerio = Meteor.npmRequire('cherio');

私のために働いた:)

于 2014-09-14T13:10:56.307 に答える