php爬虫原型

/*

@desc:爬虫原型

@author [Lee] ]>

@param url 初始url

@param callback 处理业务的回调函数

@param 挖掘url的深度 默认3

*/

function crawl($url,$callback,$depth = 3){

if($depth > 0){

$depth--;

$http = new http($url);

$content = $http->get()->exec();

// 业务处理开始

call_user_func($callback,$content);

// 业务处理结束

$preg = '/\'\"\ ]*).*?>/';

$bool = preg_match_all($preg,$content,$res);

$urls = array();

if($bool){

$urls = $res[1];

}

$urls = array_unique($urls);

$info = parse_url($url);

$scheme = $info["scheme"]?:'http';

$user = $info["user"];

$pass = $info["pass"];

$host = $info["host"];

$port = $info["port"];

$path = $info["path"];

$url = $scheme . '://';

if ($user && $pass) {

$url .= $user . ":" . $pass . "@";

}

$url .= $host;

if ($port) {

$url .= ":" . $port;

}

$url .= $path;

if (is_array($urls)) {

foreach ($urls as $u) {

if (preg_match('/^http/', $u)) {

$returl = $u;

} else {

$real = $url . '/' . $u;

$returl = $real;

}

crawl($returl,$callback,$depth);

}

}

}

}

©著作权归作者所有:来自51CTO博客作者Lee_吉的原创作品,如需转载,请注明出处,否则将追究法律责任

php 爬虫 类,php爬虫原型相关推荐

  1. 金融数据分析(三)当当网店铺商品爬虫——爬虫类书籍为例:requestsbs4

    案例(二)爬虫预热 项目一:当当网店商品爬虫--爬虫类书籍为例 此案例是运用bs4库find方法对相关内容进行抓取. -*- coding: utf-8 -*- import requests imp ...

  2. scrapy的爬虫类总结

    scrapy的爬虫类总结 scrapy存在两种爬虫类,一个是基于basic模板创建的普通爬虫类scrapy.Spider, 另一个是基于crawl的规则性爬虫类scrapy.spiders.Crawl ...

  3. QQ好友列表获取导出类:爬虫爬取QQ号

    QQ好友列表获取类:爬虫爬取QQ号,这个个爬虫是拿来练手的,可以爬取网络中的QQ号,然后存储到本地 import urllib.request import ssl import re import ...

  4. python爬虫案例-Python爬虫案例集合

    原标题:Python爬虫案例集合 urllib2 urllib2是Python中用来抓取网页的库,urllib2 是 Python2.7 自带的模块(不需要下载,导入即可使用) 在python2.x里 ...

  5. python爬虫入门-Python 爬虫从入门到进阶之路(一)

    通用爬虫和聚焦爬虫 根据使用场景,网络爬虫可分为 通用爬虫 和 聚焦爬虫 两种. 通用爬虫 通用网络爬虫 是 捜索引擎抓取系统(Baidu.Google.Yahoo等)的重要组成部分.主要目的是将互联 ...

  6. python爬虫吧-Python爬虫案例集合

    urllib2 urllib2是Python中用来抓取网页的库,urllib2 是 Python2.7 自带的模块(不需要下载,导入即可使用) 在python2.x里面有urllib和urllib2; ...

  7. python爬虫实例-Python爬虫案例集合

    urllib2 urllib2是Python中用来抓取网页的库,urllib2 是 Python2.7 自带的模块(不需要下载,导入即可使用) 在python2.x里面有urllib和urllib2; ...

  8. python爬虫百度百科-python爬虫(一)_爬虫原理和数据抓取

    本篇将开始介绍Python原理,更多内容请参考:Python学习指南 为什么要做爬虫 著名的革命家.思想家.政治家.战略家.社会改革的主要领导人物马云曾经在2015年提到由IT转到DT,何谓DT,DT ...

  9. 增量式爬虫与分布式爬虫

    文章目录 1.redis的安装 2.基于crawlSpider的全站数据爬取 3.分布式 4.增量式 5.scrapy提高数据爬取效率 6.虚拟环境 1.redis的安装 1.将安装包解压到一个文件夹 ...

最新文章

  1. quartz在集群环境下的最终解决方案
  2. 吴恩达机器学习入门 2018 高清视频公开,还有习题解答和课程拓展,网友:找不到理由不学!...
  3. CSP认证201503-2 数字排序[C++题解]:哈希表、排序、结构体
  4. 【数据分析】关于学习SQL的五个常见问题?
  5. 偶然的一次渗透从弱口令->docker逃逸
  6. vmware启动多个虚拟机
  7. apache实验报告 linux_Linux实验报告
  8. 数学之史:微积分的发明——变量数学的巨人之争
  9. timeshift备份你的Linux系统
  10. C#类的一些简单比较
  11. 相位延迟和群延迟的区别
  12. unity 导入gltf_Unity3D使用glTF格式三维文件,glTF在unity中如何呈现,glTF导入unity
  13. 对于tf.nn.sparse_softmax_cross_entropy_with_logits(logits=y,labels=tf.argmax(y_,1))的研究
  14. MPEG4 协议详解
  15. 36种漂亮的CSS3网页按钮Button样式
  16. android sqlite数据库代码,android sqlite数据库代码
  17. SDN学习继续(二)
  18. 骨传导有什么品牌,骨传导耳机品牌推荐
  19. 【项目管理一点通】(44) 用户测试(Alpha测试)
  20. 异常处理(六)--------SpringBoot+Maven项目运行异常:Unable to find a single main class from the following candidat

热门文章

  1. 数据结构与算法 / 霍夫曼树、霍夫曼编码和解码
  2. 电脑账户头像怎么删掉_情侣头像丨情侣头像一男一女背影
  3. java 多线程 start,Java 线程的run()和start()
  4. python测试udp端口_Linux系统的ECS实例中TCP/UDP端口测试及验证方法说明
  5. java redis缓存工具类_util: 对日常工作中常见的工具类进行打包: 1、数据库:DBUtil工具类 2、Redis缓存:JedisUtil工具类...
  6. 虚拟机拷贝出来_NETAPP存储虚拟机数据恢复案例
  7. XGB 调参基本方法
  8. Python十分适合用来开发网页爬虫
  9. oracle查询重复数据出现次数
  10. Tomcat下使用war包发布项目