dhat
@dhat

Как вытянуть данные из таблицы с помощью PhantomJS, CasperJS?

Не плучается вытянуть данные из таблицы с сайта 24score.com. Вот мой код:

var casper = require('casper').create({
    verbose: true,
    logLevel: 'debug', //debug, info, warning, error
    pageSettings: {
        loadImages: false,
        loadPlugins: false,
        userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4'
    },
    clientScripts: ["vendor/jquery-3.1.0.js", "vendor/lodash.js"]
   });

var fs = require('fs');
var url = 'http://24score.com/football/england/premier_league/2015-2016/regular_season/averages/';

var content = [];

function getContent() {
    var content = $(x('//*[@id="total2.5"]/table/tbody[1]/tr[1]/td[1]'));
    return _.map(content, function(e) {
        return e.innerHTML;
    })
}

casper.start(url, function() {

});

casper.then(function() {
    content = this.evaluate(getContent);
});

casper.run(function() {
    this.echo(content).exit();
});


Какой-то косяк с XPath?
  • Вопрос задан
  • 126 просмотров
Пригласить эксперта
Ответы на вопрос 1
dhat
@dhat Автор вопроса
Как выяснилось, XPath действительно тупо не поддерживается стандартными средствами. Нагуглил ответ:

__utils__.getElementsByXPath('//*[@id="total2.5"]/table/tbody[1]/tr[1]/td[1]')


Так все работает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы