修改Javascript文件的相对url



我使用Curl像这样抓取屏幕:

<?php
$url = "http://www.bbc.com/news/";
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
echo $curl_scraped_page;
?> 

然后在HTML页面上返回内容。问题是,当我在控制台查看时,我看到404错误,因为分配给javascript文件的相对url。例如,如果URL是:somejavascriptfile.js加载页面时,我的域名是这样添加的:http://mydomain/somejavascriptfile.js这些路径显然是不正确的。

那么我该怎么做才能得到js文件的实际URL呢?如果url在正文中,我可以使用jQuery(拆分/替换)来改变,但这在这种情况下不起作用。

可以在抓取的HTML中添加base标签

使用HTML解析器(如tidy)打开它,转到头部部分的开始并附加<base>标记。基本标签会将所有的资源访问重定向到一个已知的位置。

最新更新