免费国外空间,国外免费空间,'s Archiver

idc886 发表于 2013-3-31 19:21

php 采集远程网页图片并保存到本地 很简单的一个,也是很有效的

正在弄一个图片采集。。。在网上找了很多。。都没测试成功。

这个很简单,也很有效。


图片采成功了,再自己结合其它网页采集代码,就可以随便采图了。



收藏保留。   



[code]<?php
//URL是远程的完整图片地址,不能为空, $filename 是另存为的图片名字
//默认把图片放在以此脚本相同的目录里


function GrabImage($url, $filename=""){

if($url == ""){return false;} //$url 为空则返回 false;
$ext = strrchr($url, "."); //得到图片的扩展名
if($ext != ".gif" && $ext != ".jpg" && $ext != ".bmp")
       {echo "格式不支持!";return false;}
if($filename == ""){$filename = time()."$ext";} //以时间戳另起名

ob_start(); //开始捕捉
readfile($url);
$img = ob_get_contents();
ob_end_clean();
$size = strlen($img);
$fp2 = fopen($filename , "a");
fwrite($fp2, $img);
fclose($fp2);
return $filename;
}
//测试
GrabImage("http://www.idc866.com/images/default/logo.gif", "as.gif");
?>[/code]




ob_start : 打开输出缓冲
readfile : 读入一个文件并写入到输出缓冲
返回从文件中读入的字节数。如果出错返回 FALSE 并且除非是以 @readfile() 形式调用,否则会显示错误信息。
ob_end_clean() : Clean (erase) the output buffer and turn off output buffering(清除输出缓冲



地址:http://www.111cn.net/phper/21/7b935d5cbc2af164fd620437bd3984f0.htm

idc886 发表于 2013-3-31 19:29

本想采百度相关搜索图片,但搜索引擎的图片都PHP加载的,无法获取原图地址。


附上采集淘宝搜索页上的图片地址

<?php

$message = file_get_contents("http://s.taobao.com/search?q=%B6%E0%C0%AD");

preg_match_all ("|<img src=\"(.*)\" \/></span>|U",$message,$img_array);
   $img_array = array_unique($img_array[1]);      //过滤重复的图片

foreach ($img_array as $value)       //循环显示出数组中的图片地址
{
echo $value . "<br />";
}
?>

345139759 发表于 2013-3-31 19:55

LZ把沙发都占用了,只能做板凳了

页: [1]


Powered by Discuz! Archiver 7.2  © 2001-2012 Comsenz Inc.