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
, 递归
, 类
抓取网页
scrapy递归抓取网页、scrapy递归抓取、递归算法经典实例、java递归算法经典实例、js递归算法经典实例,以便于您获取更多的相关知识。

时间: 2024-10-25 18:33:03

php实现递归抓取网页类实例_php技巧的相关文章

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

 具体如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <?php class crawler{ private $_depth=5; private $_urls=array(); function extract_links($url) { if(!$this->_started){ $this->_started=1; $curr_depth=0; }else{

PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)_php技巧

通过curl_setopt()函数可以方便快捷的抓取网页(采集很方便大笑),curl_setopt 是PHP的一个扩展库      使用条件:需要在php.ini 中配置开启.(PHP 4 >= 4.0.2)        //取消下面的注释 extension=php_curl.dll 在Linux下面,需要重新编译PHP了,编译时,你需要打开编译参数--在configure命令上加上"–with-curl" 参数. 1. 一个抓取网页的简单案例: [php] view pla

PHP多线程抓取网页实现代码_php技巧

受限于php语言本身不支持多线程,所以开发爬虫程序效率并不高,这时候往往需 要借助Curl Multi Functions 它可以实现并发多线程的访问多个url地址.既然 Curl Multi Function如此强大,能否用 Curl Multi Functions 来写并发多线程下载文件呢,当然可以,下面给出我的代码: 代码1:将获得的代码直接写入某个文件 复制代码 代码如下: <?php $urls = array( 'http://www.sina.com.cn/', 'http://w

Python urllib、urllib2、httplib抓取网页代码实例

  这篇文章主要介绍了Python urllib.urllib2.httplib抓取网页代码实例,本文直接给出demo代码,代码中包含详细注释,需要的朋友可以参考下 使用urllib2,太强大了 试了下用代理登陆拉取cookie,跳转抓图片...... 文档:http://docs.python.org/library/urllib2.html 直接上demo代码了 包括:直接拉取,使用Reuqest(post/get),使用代理,cookie,跳转处理 ? 1 2 3 4 5 6 7 8 9

php通过curl添加cookie伪造登陆抓取数据的方法_php技巧

本文实例讲述了php通过curl添加cookie伪造登陆抓取数据的方法.分享给大家供大家参考,具体如下: 有的网页必须登陆才能看到,这个时候想要抓取信息必须在header里面传递cookie值才能获取 1.首先登陆网站,打开firebug就能看到对应的cookie把这些cookie拷贝出来就能使用了 2. <?php header("Content-type:text/html;Charset=utf8"); $ch =curl_init(); curl_setopt($ch,C

php基于curl实现随机ip地址抓取内容的方法_php技巧

本文实例讲述了php基于curl实现随机ip地址抓取内容的方法.分享给大家供大家参考,具体如下: 使用php curl 我们可以模仿用户行为,既可以设置我们访问的ip及浏览器信息还可以设置post方式. curl是一个特别牛逼的东西!~ 居然还可以生成随机的ip来访问,甚至可以让服务器分辨不出真实ip.这个很牛!有人说这个是不算bug的bug.不过有这个功能也给我们带来了很大的方便. php基于curl实现随机ip访问: <?php function curl($url,$ifpost = 0,

PHP中4种常用的抓取网络数据方法_php技巧

本小节的名称为 fsockopen,curl与file_get_contents,具体是探讨这三种方式进行网络数据输入输出的一些汇总.关于 fsockopen 前面已经谈了不少,下面开始转入其它.这里先简单罗列一下一些常见的抓取网络数据的一些方法. 1. 用 file_get_contents 以 get 方式获取内容: $url = 'http://localhost/test2.php'; $html = file_get_contents($url); echo $html; 2. 用fo

php使用curl和正则表达式抓取网页数据示例_php实例

利用curl和正则表达式做的一个针对磨铁中文网非vip章节的小说抓取器,支持输入小说ID下载小说. 依赖项:curl 可以简单的看下,里面用到了curl ,正则表达式,ajax等技术,适合新手看看.在本地测试,必须保证联网并且确保php开启curl的mode SpiderTools.class.php 复制代码 代码如下: <?php   session_start();  //封装成类 开启这些自动抓取文章   #header("Refresh:30;http://www.test.co

php基于curl实现的股票信息查询类实例_php技巧

本文实例讲述了php基于curl实现的股票信息查询类.分享给大家供大家参考,具体如下: 股票信息查询功能我们是需要抓取第三方的数据,然后我们再把这些数据进行分析组成自己想要的,下面我们来看一个php 股票信息查询类. 今天一个二逼朋友让我帮忙写个股票查询的类,来集成到微信中,所以花了一点时间写了一个不完整的,哈哈,如果有想玩的人,可以继续提交代码,让它变得完善起来!! GitHub 地址:github.com/widuu/stock,代码如下: class stock{ /** * 股票数据接口