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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

   

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();
                                            
     }
                                          
                                          
}









本文转自 3147972 51CTO博客,原文链接:http://blog.51cto.com/a3147972/1222037,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
Java 程序员 PHP
PHP对象和类
PHP对象和类
21 0
|
3月前
|
自然语言处理 小程序 API
基于Python采集136个PHP源码
基于Python采集136个PHP源码
18 1
|
3月前
|
缓存 前端开发 搜索推荐
分享110个采集小偷PHP源码,总有一款适合你
分享110个采集小偷PHP源码,总有一款适合你
86 1
|
8月前
|
XML 移动开发 Shell
CTF中常用的php原生类总结
CTF中常用的php原生类总结
121 0
|
9月前
|
存储 安全 搜索推荐
php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
php对接百度网盘开发平台API开发高级实战案例解析:(环境部署、php封装类、Access Token获取、预上传、分片上传)
466 0
|
9月前
|
安全 关系型数据库 MySQL
使用php解压缩ZipArchive类实现后台管理升级的解决方案
使用php解压缩ZipArchive类实现后台管理升级的解决方案
56 0
|
9月前
|
关系型数据库 MySQL 程序员
漏刻有时操作数据php类记录及筛选条件的写法
漏刻有时操作数据php类记录及筛选条件的写法
41 1
|
9月前
|
定位技术 PHP
php基于百度地图封装的对象类实现计算地图上两点间的距离和地理编码
php基于百度地图封装的对象类实现计算地图上两点间的距离和地理编码
60 0
|
9月前
|
PHP
php计算两个坐标点之间的距离的类
php计算两个坐标点之间的距离的类
72 0
|
11月前
|
安全 PHP