我正在尝试使用 CURL 抓取一些网站。为了更改相对 URL,我插入了以下内容:
$curl_scraped_page = preg_replace("/<head>/i", "<head><base href='$url' />", $curl_scraped_page, 1);
它适用于大多数网站,但并非所有网站。例如,这个网站“ NS Website ”显示完全没有效果,这意味着 URL 是用我的域作为基本 url 完成的:mydomain.com/css.css
这是我使用的完整代码:
<?php
$url = $_GET['url'];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$curl_scraped_page = curl_exec($ch);
$curl_scraped_page = preg_replace("/<head>/i", "<head><base href='$url' />", $curl_scraped_page, 1);
curl_close($ch);
echo $curl_scraped_page;
?>