Итак, я пытаюсь очистить содержимое контентом node.js x-ray scraping. Хотя я могу получить содержимое с одной страницы, я не могу разглядеть, как следить за ссылками и получать контент с подстраницы за один раз.
Есть образец в профиле github x-ray, но он возвращает пустые данные, если я изменяю код на какой-то другой сайт.
Я упростил свой код и просканировал SO-вопросы для этого примера.
Следующее прекрасно работает:
var Xray = require('x-ray');
var x = Xray();
x('http://stackoverflow.com/info/9202531/minimizing-nexpectation-for-a-custom-distribution-in-mathematica', '#content', [{
title: '#question-header h1',
question: '.question .post-text'
}])
(function(err, obj) {
console.log(err);
console.log(obj);
})
Это также работает:
var Xray = require('x-ray');
var x = Xray();
x('http://stackoverflow.com/questions', '#questions .question-summary .summary', [{
title: 'h3',
question: x('h3 [email protected]', '#content .question .post-text'),
}])
(function(err, obj) {
console.log(err);
console.log(obj);
})
но это дает мне пустой результат, и я не могу понять, что не так:
var Xray = require('x-ray');
var x = Xray();
x('http://stackoverflow.com/questions', '#questions .question-summary .summary', [{
title: 'h3',
link: 'h3 [email protected]',
details: x('h3 [email protected]', '#content', [{
title: 'h1',
question: '.question .post-text',
}])
}])
(function(err, obj) {
console.log(err);
console.log(obj);
})
Я хочу, чтобы мой паук просканировал страницу с указанными вопросами, а затем перейдите по ссылке на каждый вопрос и получите дополнительную информацию.