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

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

   

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
<?php
/**
coder:qiuyunbest@163.com
*/
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 "采集完成!";
                                                       
    }
    }
                                                     
}


数据库类:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
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();
                                            
    }
                                          
                                          
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值