2016-07-20 2 views
2

개인적으로 사용하기 위해 일부 데이터를 긁어 내려고합니다. 여기 CasperJS 내 코드입니다 : 나는 HTML 요소 식별에 문제가 있음을,CasperJS 및 PhantomJS가있는 테이블에서 데이터를 스크랩하는 방법

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는, 아무것도 작업을 사용합니다. 그러나 다른 요소를 선택하면 출력이 나옵니다.

답변

2

는 고정 :

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