PHP curl实现多进程并发高效率采集爬虫

添加时间:17-03-15 所属分类:PHP工具与代码
  http://www.111cn.net/phper/php-cy/114474.htm

PHP curl实现多进程并发抓取数据我们经常的用到了,今天我们来看一篇关于PHP curl实现多进程并发高效率采集爬虫的例子,具体的细节如下。
<script>ec(2);</script>

演示代码


运行效果






主要封装函数

multi_process();
根据参数,创建指点数目的子进程。
亮点功能1:子进程各种异常退出,比如segment fault, Allowed memory size exhausted等,中断一个子进程后,父进程会重新fork一个新进程顶上去,保持子进程数量。如果子进程里完成任务(比如判断tid达到10000),可以在子进程里exit(9),父进程会收到这个退出状态(9),然后等待所有子进程退出,最后退出自身进程。
亮点功能2:与curl封装函数一起实现了一统计功能,在程序关闭后会显示出一些主要的统计信息(图2的底部)。
mp_counter();
在父进程以及所有子进程之间通信,负责协调分配各子进程的任务,使用了锁机制。可以设置’init’参数重置计数,可以设置每次更新计数的值。
curl_get();
对curl相关函数的封装,加入了大量的错误机制,支持POST,GET,Cookie,Proxy,下载。
mp_msg();
实现规范之一就是,每条任务处理完,只输出一行信息。
亮点功能:这个函数会判断终端的高度和宽度,实现每一屏内容会显示一条统计信息(图1的紫色行),便于观察程序的执行情况,控制每一行输出的长度,保持一条信息不会超过一行。
rand_exit();
众所周知,PHP存在内在泄露的问题,所以每一个子进程里执行一定次数的任务后就退出,由multi_process()负责自动建立新的子进程(如图1中的绿色行)。
  • 2
  • 3

前篇:她们是圣女,所以被剩下了 后篇:正规出租车遭“高仿出租”威胁 市客管中心:...
发表我的评论


推荐文章   2017索尼影赛儿童生活照引人关注   按摩穴位就可以缓解心绞痛   英国建造婴儿专属游泳池 宝贝水中秀泳姿...   女科学家生存实录:记不得上次逛街是什...   俄4岁小女孩零下34度徒步8公里救外婆,...
随机文章   PHP常用字符串正则替换及剖分函数比较   PHP判断指定字符串内包含的字符函数   将网址快捷方式放到桌面上的PHP代码   跨域调用COOKIES   PHP下实现JS语言中的escape解码函数的实...
广告

其他推荐

因为本站所有内容均转载自其它媒体,本意为公众提供免费服务,但并不代表本网赞同其观点,也不能对其真实性验证负责,如稿件版权单位或个人不想在本网发布,请与我联系,本人会立即将其撤除,谢谢.联系方式:atseashawk@163.com QQ:99289555