爬取服务器图片

来源:互联网 发布:网易上海房产成交数据 编辑:程序博客网 时间:2024/05/14 18:59


自己尝试的

header("content-type:text/html;charset=utf-8");$search = array(" ", " ", "\n", "\r", "\t");$replace = array("", "", "", "", "");$merchant_num = str_replace($search, $replace, $_REQUEST['merchant_num']);  //过滤换行空格等if (IS_POST) {    $merchant_num_array = array_filter(explode(',', $merchant_num));    if (count($merchant_num_array) == 0) {        echo json_encode(['code' => 1, 'msg' =>"请填写门店编号"]);        exit;    }    if (count($merchant_num_array) > 100) {        echo json_encode(['code' => 1, 'msg' => "最多支持100家转换"]);        exit;    }    foreach ($merchant_num_array as $key => $val) {        if (strlen($val) != 15) {            echo json_encode(['code' => 1, 'msg' => "门店编号" . $val . "不正确"]);            exit;        }    }    $where['merchant_num'] =array('in',$merchant_num_array);    $merchant_bank22 = M('merchant_bank22', 'pay_', 'DB_CONFIG3')->field('store_img,merchant_num,merchant_name')->where($where)->select();    foreach ($merchant_bank22 as $key22=>$val22){        if($val22['store_img']){            $url =  "https://posppay.020leader.com".$val22['store_img'];            $filename = "images22/".$merchant_bank22['merchant_num'].'/'.$val22['merchant_name'].".jpg";            $filename=iconv("utf-8","gbk",$filename);            if ($url == "")                return false;            if ($filename == "") {                $ext = strrchr($url, ".");                if ($ext != ".gif" && $ext != ".jpg" && $ext != ".png" && $ext != "jpeg")                    return false;                $filename = date("YmdHis") . $ext;            }            ob_start();            //make file that output from url goes to buffer            readfile($url);            //file_get_contents($url);  这个方法不行的!!!只能用readfile            $img = ob_get_contents();            ob_end_clean();            $fp = @fopen($filename, "a"); //append            fwrite($fp, $img);            fclose($fp);        }    }



网商找的

<?php 
/*完成网页内容捕获功能*/ 
function get_img_url($site_name){ 
 $site_fd = fopen($site_name, "r"); 
 $site_content = ""; 
 while (!feof($site_fd)) { 
  $site_content .= fread($site_fd, 1024); 
 } 
 /*利用正则表达式得到图片链接*/ 
 $reg_tag = '/<img.*?\"([^\"]*(jpg|bmp|jpeg|gif)).*?>/'; 
 $ret = preg_match_all($reg_tag, $site_content, $match_result); 
 fclose($site_fd); 
 return $match_result[1]; 

 
/* 对图片链接进行修正 */ 
function revise_site($site_list, $base_site){ 
 foreach($site_list as $site_item) { 
  if (preg_match('/^http/', $site_item)) { 
   $return_list[] = $site_item; 
  }else{ 
   $return_list[] = $base_site."/".$site_item; 
 } 
 } 
 return $return_list; 

 
/*得到图片名字,并将其保存在指定位置*/ 
function get_pic_file($pic_url_array, $pos){ 
 $reg_tag = '/.*\/(.*?)$/'; 
 $count = 0; 
 foreach($pic_url_array as $pic_item){ 
  $ret = preg_match_all($reg_tag,$pic_item,$t_pic_name); 
  $pic_name = $pos.$t_pic_name[1][0]; 
  $pic_url = $pic_item; 
 print("Downloading ".$pic_url." "); 
  $img_read_fd = fopen($pic_url,"r"); 
  $img_write_fd = fopen($pic_name,"w"); 
  $img_content = ""; 
  while(!feof($img_read_fd)){ 
   $img_content .= fread($img_read_fd,1024); 
   
  } 
  fwrite($img_write_fd,$img_content); 
  fclose($img_read_fd); 
  fclose($img_write_fd); 
  print("[OK] "); 
 } 
 return 0; 

 
function main(){ 
/* 待抓取图片的网页地址 */ 
 $site_name = "http://www.jb51.net/sheying/391528.html"; 
 $img_url = get_img_url($site_name); 
 $img_url_revised = revise_site($img_url, $site_name); 
 $img_url_unique = array_unique($img_url_revised); //unique array 
 get_pic_file($img_url_unique,"./"); 

 
main(); 
?> 







阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 复配着色剂 天然着色剂有哪些 塑料染色剂 植物染色剂 白色染色剂 皮衣染色剂 皮革翻新染色剂 着色剂价格 衣服 染色剂 结晶紫染色剂 染色剂价格 染料着色剂 脂溶性着色剂 染色剂怎么用 黑色着色剂 绿色着色剂 蓝色染色剂 衣服的染色剂 红色着色剂 衣服染色剂黑色 橡胶着色剂 复配着色剂橙色 人工着色剂 黑色衣物染色剂 衣服染色剂有用吗 酸性着色剂 着色剂160a 合成着色剂的测定 衣服染色剂怎么使用 哪里有卖衣服染色剂 石材催锈着色剂 复配增稠着色剂 染色机 怎么染色 染色机器 染色灯 led防水染色灯 led电脑摇头染色灯 和田玉染色鉴别方法 和田玉染色怎么鉴别 异染色质