远程抓取图片
本方法只对部分网站图片采集有效
ini_set("max_execution_time", "45");//设置最大脚本执行时间
$file = file_get_contents("http://www.lanrentuku.com/tupian/dongwutupian/");
$preg = "/src=.+/";
preg_match_all($preg, $file, $img); //全文匹配
foreach ($img[0] as $v) {
$preg = "/\"http\:\/\/.+\.(jpg|png|jpeg)\"/";//二次匹配获取图片
preg_match($preg, $v, $png);
if (!empty($png[0])) {
//将图片下载到本地
$http = $png[0];
$http =str_replace('"', '', $http);//替换'"'
$resouce = file_get_contents($http);
$suffix = substr($http, strlen($http) - 4);//图片类型截取
$file_name = date('YmdHis') . 'img' . rand(0, 1000);
file_put_contents( './uploads/img/'.$file_name . '.' . $suffix, $resouce);//保存图片
}
}
正则匹配函数
preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
$matches[0] 将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推。
注意:在第一次匹配成功后 将会停止搜索
preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
结果排序为 $matches[0] 保存完整模式的所有匹配, $matches[1] 保存第一个子组的所有匹配,以此类推。
注意:匹配所有符合要求的结果

浙公网安备 33010602011771号