抓取视频时长 - casperjs

Scraping video duration - casperjs

我目前正在尝试借助 casperjs 抓取视频时长。该视频位于 div id cne-player 中。持续时间值在页面加载后立即显示,因此我发现 casperjs 是完成这项工作的最佳工具。在持续时间内进行抓取时,我得到一个空值。下面是 SITE html 基础设施的一个片段。检索视频持续时间的方式或方法是什么?

JS

var casper = require('casper').create({}),durations;

function getDuration() {
    var element = document.querySelectorAll('.vjs-control');
    return Array.prototype.map.call(element, function(e) {
        result = e.textContent;
        return result.trim();
    });
}

casper.start('http://video.wired.com/watch/battle-damage-iphone-6-plus-vs-galaxy-note-4');

casper.then(function() {
    durations = this.evaluate(getDuration);
});

casper.run( this.echo(durations) ); 

HTML

<div id="cne-player">
    <div class="vjs-control-bar">
        <div class="vjs-remaining-time vjs-time-controls vjs-control">
            <div class="vjs-remaining-time-display" aria-live="off">
                <span class="vjs-control-text">Remaining Time </span>
                -5:08
            </div>
        </div>
    </div>
</div>

截图

PhantomJS (1.x & 2) does not support the <video> element.加控件的JavaScript大概检测到了这个,没有加任何控件,因为视频不能用。

您将不得不寻找另一种方法来抓取视频时长。