Завершить Node.js noob, поэтому не судите меня...
У меня есть простое требование. Сканирование веб-сайта, поиск всех страниц продукта и сохранение некоторых данных на страницах продукта.
Проще говоря, тогда это сделано.
Глядя на образцы Node.js, я не могу найти что-то подобное.
Есть скребок запроса:
request({uri:'http://www.google.com'}, function (error, response, body) {
if (!error && response.statusCode == 200) {
var window = jsdom.jsdom(body).createWindow();
jsdom.jQueryify(window, 'path/to/jquery.js', function (window, jquery) {
// jQuery is now loaded on the jsdom window created from 'body'
jQuery('.someClass').each(function () { /* Your custom logic */ });
});
}
});
Но я не могу понять, как называть его сам, если он удаляет корневую страницу или заполняет массив или URL-адрес, который нужно очистить.
Тогда существует способ http-агента:
var agent = httpAgent.create('www.google.com', ['finance', 'news', 'images']);
agent.addListener('next', function (err, agent) {
var window = jsdom.jsdom(agent.body).createWindow();
jsdom.jQueryify(window, 'path/to/jquery.js', function (window, jquery) {
// jQuery is now loaded on the jsdom window created from 'agent.body'
jquery('.someClass').each(function () { /* Your Custom Logic */ });
agent.next();
});
});
agent.addListener('stop', function (agent) {
sys.puts('the agent has stopped');
});
agent.start();
Что берет массив местоположений, но опять же, как только вы начинаете его с массива, вы не можете добавлять к нему дополнительные места, чтобы просматривать все страницы продуктов.
И я не могу даже получить работу Apricot, по какой-то причине я получаю сообщение об ошибке.
Итак, как мне изменить любой из приведенных выше примеров (или что-то еще не перечисленное выше), чтобы очистить сайт, найти все страницы продукта, найти там некоторые данные (пример jquery.someclass должен сделать трюк) и что сохранить это в db?
Спасибо!