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 本想采百度相关搜索图片,但搜索引擎的图片都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 />";
}
?> LZ把沙发都占用了,只能做板凳了
页:
[1]