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 セクション以外のすべてを読み込みますか? 私のPHP方法の代わりに使用できるjavascriptスクレイピングツールがあるかもしれません。

ありがとう、

4

0 に答える 0