亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1774 | 回復(fù): 1
打印 上一主題 下一主題

PHP簡單網(wǎng)頁圖片抓取類 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2015-07-02 09:42 |只看該作者 |倒序?yàn)g覽
使用例子
<?php
  
  include "imgCatcher.class.php";
  header('content-type:text/html;charset=utf-8');
  $catcher = New imgCatcher("http://www.oschina.net/","images","jpg");

  $catcher->get_pic();

?>

php圖片抓取類
  1. <?php
  2.     class imgCatcher{

  3.         const FLODER_DIR = 'image/';
  4.         const IMG_TYPE = 'jpg|bmp|png|gif';

  5.         var $floder;
  6.         var $url;
  7.         var $type;
  8.         var $domain;
  9.         var $pic_arr;

  10.         public function __construct($url,$floder='',$type=''){
  11.             $this->url = $url;
  12.             
  13.             $url_arr = parse_url($url);

  14.             $this->domain = array_shift($url_arr);
  15.             
  16.             if(trim($floder) == ""){
  17.                 $this->folder = FLODER_DIR;
  18.             }else{
  19.                 $this->folder = $floder.'/';
  20.             }

  21.             if(trim($type)==""){
  22.                 $this->type = IMG_TYPE;
  23.             }else{
  24.                 $this->type = $type;
  25.             }
  26.             
  27.             $this->pic_arr = array();
  28.             if(!is_dir(__DIR__.'/'.$this->folder))
  29.                 mkdir(__DIR__.'/'.$this->folder);
  30.         }

  31.         public function get_pic(){
  32.             set_time_limit(0);//抓取不受時間限制  
  33.             //獲取圖片二進(jìn)制流  
  34.             $data = self::CurlGet($this->url);  
  35.             //利用正則表達(dá)式得到圖片鏈接  
  36.             $pattern_src = '/<img.*?src\=\"(.*\.('.$this->type.')).*?>/';//
  37.             $num = preg_match_all($pattern_src, $data, $match_src);  

  38.             $this->pic_arr=$match_src[1];//獲得圖片數(shù)組


  39.             $this->get_name();   

  40.             return 0;  
  41.         }

  42.         public function get_name(){  
  43.             $pic_arr = $this->pic_arr;
  44.             
  45.             //圖片編號和類型  
  46.             $pattern_type = '/.*\/(.*?)$/';  
  47.             
  48.             foreach($pic_arr as $pic_item){//循環(huán)取出每幅圖的地址  
  49.             
  50.                 $num = preg_match_all($pattern_type,$pic_item,$match_type);  
  51.                 //以流的形式保存圖片  
  52.                 $write_fd = fopen($this->folder.$match_type[1][0],"wb");  

  53.                 fwrite($write_fd, self::CurlGet($pic_item,$this->url));  
  54.                 fclose($write_fd);  
  55.             }

  56.             return 0;  
  57.         }


  58.          //抓取網(wǎng)頁內(nèi)容  
  59.         static function CurlGet($url,$domain=""){
  60.             if(substr($url, 0, 1) == "/"){
  61.                 $url =  $domain.$url;
  62.             }

  63.             if(substr($url, 0, 1) == "."){
  64.                 $url =  $domain.substr($url, 1);
  65.             }

  66.             if(substr($url, 0, 2) == ".."){
  67.                 $url =  $domain.substr($url, 2);
  68.             }           
  69.             $url=str_replace('&','&',$url);  
  70.             $curl = curl_init();  
  71.             curl_setopt($curl, CURLOPT_URL, $url);  
  72.             curl_setopt($curl, CURLOPT_HEADER, false);  
  73.             
  74.             //curl_setopt($curl, CURLOPT_REFERER,$url);  
  75.             curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; SeaPort/1.2; Windows NT 5.1; SV1; InfoPath.2)");  
  76.             curl_setopt($curl, CURLOPT_COOKIEJAR, 'cookie.txt');  
  77.             curl_setopt($curl, CURLOPT_COOKIEFILE, 'cookie.txt');  
  78.             curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);  
  79.             curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 0);  
  80.             $values = curl_exec($curl);  
  81.             curl_close($curl);  
  82.             return $values;  
  83.         }     

  84.     }


  85. ?>
復(fù)制代碼

論壇徽章:
59
2015七夕節(jié)徽章
日期:2015-08-24 11:17:25ChinaUnix專家徽章
日期:2015-07-20 09:19:30每周論壇發(fā)貼之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38榮譽(yù)版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年紀(jì)念徽章
日期:2015-07-20 11:05:27IT運(yùn)維版塊每日發(fā)帖之星
日期:2015-07-20 11:05:34操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:36程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:40數(shù)據(jù)庫技術(shù)版塊每日發(fā)帖之星
日期:2015-07-20 11:05:432015年辭舊歲徽章
日期:2015-07-20 11:05:44
2 [報(bào)告]
發(fā)表于 2015-07-10 10:13 |只看該作者
自動保存到本地硬盤了嗎?
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP