0

我正在使用 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 页面上回显内容。问题是,当我查看控制台时,由于分配给 javascript 文件的相对 URL,我看到 404 错误。例如,如果 URL 是:somejavascriptfile.js在加载页面时添加我的域名,如下所示:http://mydomain/somejavascriptfile.js这些路径显然不正确。

那么我该怎么做才能获取 js 文件的实际 URL 呢?如果我可以使用 jQuery (split/replace) 来更改正文中的 URL,但这在这种情况下不起作用。

4

1 回答 1

3

您可以将base标签添加到抓取的 HTML。

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

于 2013-04-06T09:22:02.777 回答