php如何批量抓取并下载第三方网站css文件中的图片

有时如果需要保存对方网页css里的图片时,如果图片太多,一张一张手动保存,则太花费时间,这时可以通过下面代码批量保存

//设置PHP超时时间
set_time_limit(0);

//取得第三方网站中样式文件内容
$styleFileContent = file_get_contents('http://www.test.com/static/css/style.css');

//正则匹配出需要下载的图片URL地址
preg_match_all('/url\((["\']?)([^"\')]+)\1\)/i', $styleFileContent, $imagesURLArray);
//循环下载正则匹配到的图片
$imagesURLArray = array_unique($imagesURLArray[2]);
foreach($imagesURLArray as $imagesURL) {
   //根据实际情况替换下图片路径
   $imagesURL = str_replace("../","",$imagesURL);//../images/arr-l3-on.png

   //补全第三方网站的图片路径
   $imagesURL = "http://www.test.com/static/".$imagesURL;

   //echo $imagesURL;

   //自己网站里先创建好images目录,保存图片到该目录
   file_put_contents("images/".basename($imagesURL), file_get_contents($imagesURL));
}

 

相关推荐