我从网站上获得了电影时间数据,但我发现这是必然的结果。
以下是我制作的json数据:
[{"title":["æ¦å
ç¾å
大è¡å Dunkirk","女ç¼å¨å°è¶´ Rough Night","æç©ºå³ WuKong","ç©çå´èµ· çµæ¥µæ±ºæ° WAR FOR THE PLANET OF THE APES","éé Gintama","èè人ï¼è¿æ ¡æ¥ Spider-Man: Homecoming","ç¥å·å¥¶ç¸ 3ã䏿çã Despicable Me 3 ã CH ã ","ç¥å·å¥¶ç¸ 3ãè±æçã Despicable Me 3ã EN ã"],"time":["09:5011:5513:0014:0015:0016:0518:1019:2020:1522:2000:30\n","10:0011:5013:4015:3017:2020:5022:4000:30\n","10:0013:5516:1020:0522:2000:35\n","10:0012:3513:3515:1016:1017:4518:4520:2021:2022:5500:00\n","10:0017:0023:45\n","10:0012:2514:5017:1519:4021:2022:0500:30\n","10:0011:4519:10\n","12:1518:25\n"],"image":["picture/zip_20170617231635968.jpg","picture/zip_20170528225556605.jpg","picture/zip_20170528231038563.jpg","picture/zip_20170617225530468.jpg","picture/zip_20170617231105860.jpg","picture/zip_20170617224807245.jpg","picture/zip_20170617223724641.jpg","picture/zip_20170617223542725.jpg"]}]
我希望时间变成这样:
我使用casperjs获取电影时间数据:
var movieTitle = [];
var movieTime = [];
var movieImage = [];
var allMovie = {};
allMovie.detail = [];
// How to let my movie time split out ?
function getMovieTime() {
var time = document.querySelectorAll('ul li ul');
return Array.prototype.map.call(time, function (e) {
return e.innerText;
});
}
casper.then(function () {
movieTitle = this.evaluate(getMovieTitle);
movieTime = this.evaluate(getMovieTime);
movieImage = this.evaluate(getMovieImage);
});
casper.then(function () {
console.log('what is going on');
this.echo(movieTitle.length + 'Title found :');
// this.echo(movieTitle.join('\n'));
this.echo(movieTime.length + 'Time found :');
//this.echo(movieTime.join('\n'));
this.echo(movieImage.length + 'Image found :')
// this.echo(movieImage.join('\n'));
this.echo(outPutJSON());
});
function outPutJSON() {
allMovie.detail.push({
title: movieTitle,
time: movieTime,
image: movieImage
});
return JSON.stringify(allMovie.detail);
}
我试过这个:
function getMovieTime() {
var time = document.querySelectorAll('ul li ul');
return Array.prototype.map.call(time, function (e) {
return e.innerText.substring(0, 5);
});
}