少し圧倒されるので、質問が明確に説明されていない場合は申し訳ありません。とにかくここに問題があります:
私のサイトは 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スクレイピングツールがあるかもしれません。
ありがとう、