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

 更新时间:2015年04月03日 12:20:50   作者:pythoner  
这篇文章主要介绍了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 FileSystem 文件系统常用api整理总结

    PHP FileSystem 文件系统常用api整理总结

    这篇文章主要介绍了PHP FileSystem 文件系统常用api,结合实例形式整理总结了php文件系统常用函数的功能、使用技巧与相关操作注意事项,需要的朋友可以参考下
    2019-07-07
  • php中的路径问题与set_include_path使用介绍

    php中的路径问题与set_include_path使用介绍

    这篇文章主要介绍了php中的路径问题与set_include_path,需要的朋友可以参考下
    2014-02-02
  • php的ajax框架xajax入门与试用介绍

    php的ajax框架xajax入门与试用介绍

    xajax功能很简单,但很灵活!~它不象其它一些大的框架,功能确实强大,但执行速度不敢恭维。。功能虽多,但不够灵活。api多,学起来简直如同学习一门新的语言。
    2010-12-12
  • PHP 5.0对象模型深度探索之类的静态成员

    PHP 5.0对象模型深度探索之类的静态成员

    类的静态成员与一般的类成员不同: 静态成员与对象的实例无关,只与类本身有关。他们用来实现类要封装的功能和数据,但不包括特定对象的功能和数据,静态成员包括静态方法和静态属性。
    2008-03-03
  • php设计模式介绍之编程惯用法

    php设计模式介绍之编程惯用法

    《PHP设计模式介绍》第一章 编程惯用法 学习一门新的语言意味着要采用新的惯用法。这章将介绍或者可能重新强调一些惯用法。你会发现这些惯用法在你要在代码中实现设计模式时候是非常有用的。
    2008-04-04
  • 慎用preg_replace危险的/e修饰符(一句话后门常用)

    慎用preg_replace危险的/e修饰符(一句话后门常用)

    要确保 replacement 构成一个合法的 PHP 代码字符串,否则 PHP 会在报告在包含 preg_replace() 的行中出现语法解析错误
    2013-06-06
  • Windows 下的 PHP-PEAR 安装方法

    Windows 下的 PHP-PEAR 安装方法

    发现自己的 Windows 下的 PHP 环境没有安装 pear ,于是从网上找到了这个安装文件:go-pear.php
    2010-11-11
  • PHP的PDO常用类库实例分析

    PHP的PDO常用类库实例分析

    这篇文章主要介绍了PHP的PDO常用类库,结合实例形式分析了PDO类库常见的连接,初始化及增删改查等操作技巧,需要的朋友可以参考下
    2016-04-04
  • PHP读取zip文件的方法示例

    PHP读取zip文件的方法示例

    这篇文章主要介绍了PHP读取zip文件的方法,结合实例形式分析了php针对zip文件的读取操作相关技巧,需要的朋友可以参考下
    2016-11-11
  • PHP生成和获取XML格式数据的方法

    PHP生成和获取XML格式数据的方法

    这篇文章主要介绍了PHP生成和获取XML格式数据的方法,结合实例形式较为详细的分析了PHP操作数据库生成XML及获取XML格式数据的相关技巧,需要的朋友可以参考下
    2016-03-03

最新评论