如果问题没有解释清楚,我深表歉意,因为这对我来说有点压倒性。无论如何,这是问题所在:
我的站点使用 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 方式?
谢谢,