加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2020-12-13 02:33:08 所属栏目:PHP教程 来源:网络整理
导读:《PHP实例:php实现递归抓取网页类实例》要点: 本文介绍了PHP实例:php实现递归抓取网页类实例,希望对您有用。如果有疑问,可以联系我们。 PHP学习 本篇章节讲解php实现递归抓取网页类的办法.供大家参考研究.具体如下: ?phpclass crawler{ privat

《PHP实例:php实现递归抓取网页类实例》要点:
本文介绍了PHP实例:php实现递归抓取网页类实例,希望对您有用。如果有疑问,可以联系我们。

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实例:php实现递归抓取网页类实例》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读