PHP에서 phantomjs와 함께 casperjs를 사용하여 링크를 추출하기 전에 웹 페이지를 렌더링합니다.이 방법으로 일반적으로 자바 스크립트로 작성된 모든 링크가 나오고 있습니다. 아니이 웹 사이트에 (.) centralcanadaclassics COM 여기Phantomjs/CasperJs는 페이지를 렌더링하지 못하도록 링크를 추출 할 수 있습니다.
CasperJS에 대한 JS입니다 내가 사용하고 있습니다 :
var xpath = require('casper').selectXPath;
var casper = require('casper').create({
pageSettings: {
loadImages: false,
webSecurityEnabled: false
},
verbose: true,
logLevel: 'debug',
colorizerType: 'Dummy'
});
casper.userAgent('casper');
casper.start().then(function() {
this.open('http://www.centralcanadaclassics.com', {
headers: {
'Accept': 'text/html'
}
});
});
casper.then(function() {
this.echo('[CURRENT_URL]' + this.getCurrentUrl());
this.echo('[CURRENT_TITLE]' + this.getTitle());
this.echo('[CURRENT_PAGE_CONTENT]' +
this.getPageContent().replace(new RegExp('\r?\n','g'), ''));
this.echo('[CURRENT_HTML]' + this.getHTML().replace(new RegExp('\r? \n','g'), ''));
this.echo('[CURRENT_HEADERS]' + JSON.stringify(this.currentResponse.headers));
this.echo('[CURRENT_STATUS]' + this.currentResponse.status);
this.echo('[CURRENT_STATUS_TEXT]' + this.currentResponse.statusText);
this.echo('[CURRENT_COOKIES]' + JSON.stringify(phantom.cookies));
});
casper.run();
그래서 마지막에 모든 내용이 해당 페이지를 렌더링 나던, 동일하게 유지됩니다. 이유를 설명해주십시오.
그럼, 해당 페이지의 모든 링크를 추출 하시겠습니까? 그리고 당신은 캐스퍼의 출력에서 링크를 볼 수없는 이유가 궁금합니다. 그러나 일반 브라우저에서 볼 수 있습니다. –