PHP写的爬虫,爬指定网站页面上的各种图片

打算用php实现一个爬虫,这是爬指定页面的图片的一段程序,其他的部分还没调试好,先把这个放上来

 1 <?php
 2 $string=file_get_contents("http://www.baidu.com");
 3 echo ‘size:‘.strlen($string)."</br>";
 4 $length=strlen($string);
 5 searchImg($string,$length);
 6  
 7 
 8 
 9 function searchImg($string,$length){
10     for ($i=0; $i <$length ; $i++) { 
11         if(($string[$i]==‘s‘)&&($string[$i+1]==‘r‘)&&($string[$i+2]==‘c‘)){
12             $index=$i;
13             
14             $scr=searchScr($index,$length,$string);//为“http://.......***”的格式
15         
16             $type=judgeType($scr);
17             //
18             if($type!="error"){
19                 echo ‘location:‘.$index.‘</br>‘;
20                     echo ‘scourse:‘.$scr.‘</br>‘;
21                     echo ‘type:‘.$type."</br>";
22             $filename=‘pic/‘.$index.‘.‘.$type;
23             $handle=fopen($filename,"a");
24 
25             $scrString=file_get_contents($scr);
26             fwrite($handle, $scrString);
27             fclose($handle);
28         }
29 
30     }
31 
32 }
33 }
34 
35 function judgeType($scr){
36 $length=strlen($scr);
37  
38 if((($scr[$length-1]==‘f‘||$scr[$length-1]==‘F‘))&&(($scr[$length-2]==‘i‘)||($scr[$length-2]==‘I‘))){
39 return "gif";
40 }
41 else if ((($scr[$length-1]==‘g‘||$scr[$length-1]==‘G‘))&&(($scr[$length-2]==‘P‘)||($scr[$length-2]==‘p‘))) {
42      return "jpg";
43 }
44 else if((($scr[$length-1]==‘g‘||$scr[$length-1]==‘G‘))&&(($scr[$length-2]==‘n‘)||($scr[$length-2]==‘N‘))){
45     return "png";
46 }
47 else if((($scr[$length-1]==‘g‘||$scr[$length-1]==‘G‘))&&(($scr[$length-2]==‘E‘)||($scr[$length-2]==‘e‘))){
48     return "jpeg";
49 }
50 else{
51     return  "error";
52 }
53 }
54 
55 
56 
57 function searchScr($index,$length,$string){
58     if($string[$index+5]==="h"){
59          
60         $scr=‘‘;
61         }    
62     else{
63          
64         $scr=‘http:‘;
65         }
66 
67     for ($i=$index+5; $i<$length ; $i++) { 
68         if($string[$i]===‘"‘){
69             //$scr=$scr.‘"‘;
70             break;
71         }
72         else{
73         $scr=$scr.$string[$i];
74             }
75     }
76     return $scr;
77     //echo $scr;
78     
79 
80 }
81 
82 
83 
84 ?>

主要说一些不足,动态生成的图片不能收录,css中的图片不能收录,这是接下来要完善的地方,爬虫就是不断完善出来的,php的字符串还是蛮累的。。。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。