php实现递归抓取网页类实例

本文实例讲述了php实现递归抓取网页类的方法。分享给大家供大家参考。具体如下:

  <?php  class crawler{   private $_depth=5;   private $_urls=array();   function extract_links($url)   {    if(!$this->_started){     $this->_started=1;     $curr_depth=0;    }else{     $curr_depth++;    }    if($curr_depth<$this->_depth)    {     $data=file_get_contents($url);     if(preg_match_all('/((?:http|https)://(?:www.)*(?:[a-zA-Z0-9_-]{1,15}.+[a-zA-Z0-9_]{1,}){1,}(?:[a-zA-Z0-9_/.-?&:%,!;]*))/',$data,$urls12))     {      foreach($urls12[0] as $k=>$v){       $check=get_headers($v,1);       if(strstr($v,$url) && $check[0]=='HTTP/1.1 200 OK' && !array_search($v,$this->_urls) && $curr_depth<$this->_depth){        $this->_urls[]=$v;        $this->extract_links($v);       }      }     }    }    return $this->_urls;   }  }  ?>

希望本文所述对大家的php程序设计有所帮助。

php实现递归抓取网页类实例

郑重声明:本网站发布的内容(图片、视频和文字)以及用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注