PHP采集的实现,直接写成个类

   很多朋友都想自己的cms有采集的功能,这样省时省力,今天就分享一个朋友写的采集类,我也没怎么看过,大家可以自己研究一下,如果不会,可以加QQ2387813033,一起讨论学习,或者加群252799167

   

<?php
/**
coder:[email protected]
*/
class GetProduct{
  public $url;
                                                    
  function __construct($url=''){
                                                    
    $this->url = $url;
                                                    
  }
  function curl_file_get_contents(){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $this->url);
    curl_setopt($ch, CURLOPT_TIMEOUT, 60);
    curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);
    curl_setopt($ch, CURLOPT_REFERER,_REFERER_);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $r = curl_exec($ch);
    curl_close($ch);
    return $r;
                                                      
  }
                                                    
  function GetAll($preg,$a='',$html=''){
                                                    
    if(empty($html)){
                                                      
      $html = $this->curl_file_get_contents();
                                                      
    }
                                                    
    preg_match_all("^".$preg."^isU",$this->curl_file_get_contents(),$title);
                                                      
    if($a===0 || !empty($a)){
                                                      
      return $title[$a];
                                                      
    }else{
                                                      
      return $title;
                                                      
    }
                                                    
  }
                                                    
                                                    
  function GetOne($preg,$a='',$html=''){
                                                    
    if(empty($html)){
                                                      
      $html = $this->curl_file_get_contents();
                                                      
    }
                                                    
    preg_match("^".$preg."^isU",$html,$title);
                                                      
    if($a===0 || !empty($a)){
                                                      
      return $title[$a];
                                                      
    }else{
                                                      
      return $title;
                                                      
    }
                                                    
  }
                                                    
  function str_r($str){
                                                    
    $str = str_replace("$","",$str);
                                                      
    $str = str_replace("<br />","<br/>",$str);
                                                      
    $str = strip_tags($str,"<br/>");
                                                      
    $str = str_replace("\"","\\\"",$str);
                                                      
    $str = str_replace("&euro;","",$str);
                                                      
    $str = str_replace("amp;","",$str);
                                                      
    $str = str_replace("\r\n","",$str);
                                                      
    return $str;
                                                    
  }
                                                   
                                                    
                                                    
  function Load($id,$allnum){
                                                    
    $load=round($id/$allnum*100,2)."%";
                                                      
    $loading = "正在采集请稍后.......".$id."/".$allnum.".......<div style=\"width:600px;border:1px solid #ccc\"><div style=\"width:".$load.";text-align:center;height:14px;font-size:14px;background-color:#999\">".$load."</div></div>";
                                                      
    return $loading;
                                                    
  }
                                                    
  function getimg($purl,$filename){
                                                    
        if($purl=="")
        {
            return false;
        }
        $ext=strrchr($purl,".");
        if($ext!=".gif" & $ext!=".bmp" & $ext!=".jpg" & $ext!=".png" & $ext!=".GIF" & $ext!=".BMP" & $ext!=".JPG")
        {
            return false;
        }
        //$img=file_get_contents($purl) or die("í¼Æ¬′ò2»¿a");
                                                          
        if(file_exists($filename))
            return true;
        /*
        $ctx = stream_context_create(array(
                'http' => array(
                'timeout' => 160
                )
                )
            );         
        $img=file_get_contents($purl,0,$ctx);
        */
                                                          
        try{
        $ch = curl_init();
            $timeout = 11160;
            curl_setopt ($ch, CURLOPT_URL, $purl);
            curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
            $img = curl_exec($ch);
            curl_close($ch);
        }
        catch(Exception $e)
        {return false;}
                                                              
        if($img=="")
            return false;
                                                              
        $fp=@fopen($filename,"a");
        fwrite($fp,$img);
        fclose($fp);
        return true;
    }
                                                      
    function Jump($id,$num){
                                                      
    if($id<$num){
                                                      
      $id++;
                                                        
      $jump = "<script>location.href='?id=".$id."'</script>";
                                                        
      return $jump;
                                                      
    }else{
                                                      
      return "采集完成!";
                                                      
    }
    }
                                                    
}


数据库类:


class Mysql{
  private $host;
                                         
  private $user;
                                         
  private $pwd;
                                         
  function __construct($host,$user,$pwd,$db,$un="utf8"){
                                         
    $this->host = $host;
                                           
    $this->user = $user;
                                           
    $this->pwd = $pwd;
                                           
    $this->db = $db;
                                           
    $this->un = $un;
                                           
    $this->conn();
                                         
  }
                                         
  function conn(){
                                         
    $conn = mysql_connect($this->host,$this->user,$this->pwd) or die(("ᬽó꧰ü").mysql_error());
                                           
    mysql_select_db($this->db,$conn) or die("êy¾Y¿a2»′æÔú".mysql_error());
                                           
    mysql_query("set character set $this->un");
                                           
    mysql_query("set names $this->un");
                                         
  }
                                         
  function select($table,$where="",$num=false){
                                         
    $query = mysql_query("select * from `$table` $where");
                                           
    while($row = mysql_fetch_array($query)){
                                           
      $arr[] = $row;
                                           
    }
                                           
    if($num){
                                           
      return $arr[0];
                                           
    }else{
                                           
      return $arr;
                                           
    }
                                         
  }
                                         
  function num_rows($table,$where=""){
                                         
    $query = mysql_query("select * from `$table` $where");
                                           
    $num = mysql_num_rows($query);
                                           
    return $num;
                                         
  }
                                         
  function insert($table,$name="",$value){
                                         
    mysql_query("INSERT INTO `$table` ($name) VALUES ($value)");
                                         
  }
                                         
  function update($table,$fn,$where=""){
                                         
    mysql_query("UPDATE $table SET $fn $where");
                                         
  }
                                         
  function close(){
                                               
        return mysql_close();
                                           
    }
                                         
                                         
}

你可能感兴趣的:(php采集,PHP采集类)