0

如果问题没有解释清楚,我深表歉意,因为这对我来说有点压倒性。无论如何,这是问题所在:

我的站点使用 jQuery jPlayer 播放远程 url,但是远程 url 是动态的,即在每个页面加载时我需要抓取远程站点以获取媒体 url,并且这个 url 放在我的 html 中的 CDATA 部分:

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

$(document).ready(function(){

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

});

    });})(jQuery);

//]]>

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

        $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 url,然后才能开始呈现页面。

我的问题是:由于 mp3 url 仅在文档​​准备好时使用,我有哪些替代方法可以使页面加载更快,例如,加载除 CDATA 部分之外的所有内容?也许我可以使用一个 javascript 抓取工具来代替我的 PHP 方式?

谢谢,

4

0 回答 0