>백엔드 개발 >PHP 튜토리얼 >PHP에서 웹페이지 클래스의 재귀적 크롤링을 구현하는 방법

PHP에서 웹페이지 클래스의 재귀적 크롤링을 구현하는 방법

墨辰丷
墨辰丷원래의
2018-06-11 16:54:421544검색

이 글은 주로 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(&#39;/((?:http|https)://(?:www.)*(?:[a-zA-Z0-9_-]{1,15}.+[a-zA-Z0-9_]{1,}){1,}(?:[a-zA-Z0-9_/.-?&:%,!;]*))/&#39;,$data,$urls12))
   {
    foreach($urls12[0] as $k=>$v){
     $check=get_headers($v,1);
     if(strstr($v,$url) && $check[0]==&#39;HTTP/1.1 200 OK&#39; && !array_search($v,$this->_urls) && $curr_depth<$this->_depth){
      $this->_urls[]=$v;
      $this->extract_links($v);
     }
    }
   }
  }
  return $this->_urls;
 }
}
?>

요약: 위 내용은 이 글의 전체 내용이므로, 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 권장 사항:

PHP는 한자 확인 코드를 구현합니다

php 프로세스 제어 및 수학 연산

php는 글꼴 로드 및 저장을 구현합니다

위 내용은 PHP에서 웹페이지 클래스의 재귀적 크롤링을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.