NodeJS-рентгеновский веб-скребок: как следовать ссылкам и получать контент с дополнительной страницы

Итак, я пытаюсь очистить содержимое контентом 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);

})

Я хочу, чтобы мой паук просканировал страницу с указанными вопросами, а затем перейдите по ссылке на каждый вопрос и получите дополнительную информацию.

Ответ 1

Итак, с некоторой помощью я понял, в чем проблема. Я отправляю этот ответ, если у кого-то еще может быть такая же проблема.

Рабочий пример:

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]', {
    title: 'h1',
    question: '.question .post-text',
  })

}])
(function(err, obj) {

  console.log(err);
  console.log(obj);

})

Ответ 2

версия 2.0.2 работает. В github есть текущая проблема, чтобы следовать followhttps://github.com/lapwinglabs/x-ray/issues/189