Я хочу, чтобы очистить ссылки из HTML-страницы, которую я получаю с помощью метода Meteor.http. Было бы идеально использовать jQuery на стороне сервера, но я не думаю, что это работает.
Как можно разобрать HTML-сервер с Meteor?
Ответ 1
Рассмотрите возможность использования cheerio его как jQuery, но больше для скребков. Я попытался ответить на это раньше, поэтому надеюсь, что на этот раз я сделаю лучшую работу.
его модуль npm, поэтому сначала выполните его установку (внутри вашего проекта dir) с помощью терминала:
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, вы увидите последнее действие в ветке github meteors:
Meteor.call("last_action",function(err,result){ console.log(result) } );
Я получил это на сегодняшний день /feb 23rd
который так же, как и на github.com/meteor/meteor
Ответ 2
Используйте cheerio, как предлагает Акшат, но я бы порекомендовал другой способ использовать его, на данный момент, для Meteor 0.8.0.
Сначала установите npm для Meteor:
$ mrt add npm
Затем измените packages.json
на (конечно, вы можете иметь другую версию cheerio или других пакетов node):
{
"cheerio": "0.15.0"
}
В server.js
(или любой другой файл, на стороне сервера) запустите:
var cheerio = Meteor.require('cheerio');
Использование cheerio так, как вам нравится.
После запуска $ meteor
он автоматически установит cheerio.