Функция Phantomjs для очистки веб-страницы не работает
Я использую phantomjs, чтобы научиться чистить веб-страницу, поэтому я разработал следующий код ниже. Я знаю, что могу подключиться к сайту, но я вообще не могу получить данные из таблицы .. am Я на правильном пути?
Моя цель - собрать данные из таблицы наэтот сайт. Я также понимаю, что мне нужно использовать includeJs или injectJs, чтобы дождаться загрузки таблицы, иначе я бы очистил пустую HTML-страницу. Я пытаюсь соединить эти концепции, но я застрял более чем на 3 дня .. пожалуйста, дайте несколько советов ..
var page = require('webpage').create();
console.log('Welcome to scraping...');
page.open('http://www.inc.com/inc5000/index.html', function(status) {
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
if (status !== 'success') {
console.log('Unable to access network');
} else {
var ua = page.evaluate(function() {
var DATA = [];
var res= document.getElementById((this).find('td')).eq(0).text();
console.log(res); //**See output below for what is happening here**
$('tr.ng-scope').each(function(){
var $tds = $(this).find('td');
DATA.push({
rank: $tds.eq(0).text(),
company: $tds.eq(1).text(),
growth: $tds.eq(2).text(),
revenue: $tds.eq(3).text(),
industry: $tds.eq(4).text()
});
});
console.log(DATA);
console.log('Got into func');
//return document.getElementById('myagent').textContent;
});
console.log('Got out of function');
console.log(ua);
}
phantom.exit();
});
});
Вывод, который я получаю:
Добро пожаловать в соскоб ...
ReferenceError: Невозможно найти переменную: угловая
http://stage.inc.com/js/Inc5000ListApp.js?UPDATE1:2
http://www.inc.com/inc5000/index.html:2485
TypeError: 'null' не является объектом (оценка 'document.getElementById (this.find (' td ')). Eq')
phantomjs: //webpage.evaluate (): 3 // что это значит ??
phantomjs: //webpage.evaluate (20):
phantomjs: //webpage.evaluate (20):
Вышел из строя
ноль