如何通过按需抓取来延迟html cdata加载?

时间:2013-08-29 03:33:32

标签: javascript jquery html web-scraping jplayer

如果问题没有得到清楚解释,我很抱歉,因为这对我来说有点压倒性。无论如何这里是问题所在:

我的网站使用jQuery jPlayer播放远程网址,但是远程网址是动态的,即在每个网页加载时我需要抓取远程网站获取媒体网址,这个网址放在我的CDATA部分HTML:

//<![CDATA[
(function($){    

$(document).ready(function(){

var myCirclePlayer = new CirclePlayer("#jquery_jplayer_1",
{
    mp3: "dynamic url generated from php webscraping",
}, {
        .....

});

    });})(jQuery);

//]]>

我使用PHP DOMDocument按需获取mp3网址,即

        $mp3_doc = new DOMDocument();
        //$output is the page grabbed via curl;
        @$mp3_doc->loadHTML($output);             

        $xpath = new DOMXpath($mp3_doc);
        $elements = $xpath->query("//div[@id='wp']//a/@href");
        // code to extract the actual mp3 url

问题是:显然这段代码会减慢我的页面加载速度,因为每次我需要下载一个远程页面然后在我开始呈现页面之前提取mp3网址。

我的问题是:由于mp3网址仅在文档准备就绪时使用,我可以选择哪种方式加快页面加载速度,例如加载除CDATA部分以外的所有内容?也许有一个javascript抓取工具,我可以使用而不是我的PHP方式?

谢谢,

0 个答案:

没有答案
相关问题