zoukankan      html  css  js  c++  java
  • 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的字符串还是蛮累的。。。

  • 相关阅读:
    chrome中打开 swf下载的问题
    爱对人比爱上人更重要
    ActiveMQ集群
    ActiveMQ相关API
    ActiveMQ持久化
    ActiveMQ处理模式
    ActiveMQ
    JMS与消息队列
    微服务设计、拆分原则
    web常用服务架构
  • 原文地址:https://www.cnblogs.com/admos/p/4515416.html
Copyright © 2011-2022 走看看