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、付费专栏及课程。

余额充值