15

Meteor.http メソッドでフェッチしている HTML ページからリンクをスクレイピングできるようにしたいと考えています。サーバー側でjQueryを使用するのが理想的ですが、これはうまくいかないと思います。

4

2 に答える 2

13

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 と同じ

ここに画像の説明を入力

于 2013-02-22T23:12:52.407 に答える
10

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 が自動的にインストールされます。

于 2014-04-22T12:27:12.583 に答える