php使用curl模拟多线程实现批处理功能示例


Posted in PHP onJuly 25, 2019

本文实例讲述了php使用curl模拟多线程实现批处理功能。分享给大家供大家参考,具体如下:

php模拟多线程用到curl库,这个库很强大,可以做好多事,比如模拟登陆,文件上传/下载,数据采集等。

下面是我的代码,很简单,有些还功能还不会用。

<?php
$node_urls=array('http://www.baidu.com','http://www.google.com.hk');
$ch=array();
$mh=curl_multi_init();
$ch[0]=curl_init($node_urls[0]);
$ch[1]=curl_init($node_urls[1]);
for($i=0;$i<2;$i++)
{
curl_setopt($ch[$i],CURLOPT_RETURNTRANSFER,1);
curl_multi_add_handle($mh,$ch[$i]);
}
$running=NULL;
do{
  usleep(10000);
  curl_multi_exec($mh,$running);
}while($running>0);
$res=array();
for($j=0;$j<2;$j++)
{
  $res[$j]=curl_multi_getcontent($ch[$j]);
}
for($k=0;$k<2;$k++)
{
  curl_multi_remove_handle($mh,$ch[$k]);
}
curl_multi_close($mh);
print_r($res);
?>

这段代码就是并行爬取百度和谷歌的代码,以后再慢慢完善。

还有好多事要做。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
discuz论坛 用户登录 后台程序代码
Nov 27 PHP
php 面试碰到过的问题 在此做下记录
Jun 09 PHP
学习使用curl采集curl使用方法
Jan 11 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
在yii中新增一个用户验证的方法详解
Jun 20 PHP
php实现随机显示图片方法汇总
May 21 PHP
浅析Yii2 GridView实现下拉搜索教程
Apr 22 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
Oct 25 PHP
PHP 年月日的三级联动实例代码
May 24 PHP
Yii1.1框架实现PHP极光推送消息通知功能
Sep 06 PHP
php菜单/评论数据递归分级算法的实现方法
Aug 01 PHP
gearman管理工具GearmanManager的安装与php使用方法示例
Feb 27 PHP
yii框架使用分页的方法分析
Jul 25 #PHP
php实现的生成排列算法示例
Jul 25 #PHP
Yii框架中使用PHPExcel的方法分析
Jul 25 #PHP
PHP保留两位小数的几种方法
Jul 24 #PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
Jul 24 #PHP
Yii Framework框架使用PHPExcel组件的方法示例
Jul 24 #PHP
PHP+Apache实现二级域名之间共享cookie的方法
Jul 24 #PHP
You might like
php xml文件操作实现代码(二)
2009/03/20 PHP
PHP 文件系统详解
2012/09/13 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
Linux(CentOS)下PHP扩展PDO编译安装的方法
2016/04/07 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
获取网站跟路径的javascript代码(站点及虚拟目录)
2009/10/20 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
jQuery之浮动窗口实现代码(两种方法)
2010/09/08 Javascript
node.js正则表达式获取网页中所有链接的代码实例
2014/06/03 Javascript
JavaScript 学习笔记之语句
2015/01/14 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
AngularJS中如何使用echart插件示例详解
2016/10/26 Javascript
seajs实现强制刷新本地缓存的方法分析
2017/10/16 Javascript
js中this对象用法分析
2018/01/05 Javascript
JavaScript 高性能数组去重的方法
2018/09/20 Javascript
vue模块拖拽实现示例代码
2019/03/09 Javascript
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
浅析vue-router中params和query的区别
2019/12/24 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
Python lxml模块安装教程
2015/06/02 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
Python过滤txt文件内重复内容的方法
2018/10/21 Python
python实现简单名片管理系统
2018/11/30 Python
Python实现判断一个整数是否为回文数算法示例
2019/03/02 Python
opencv实现简单人脸识别
2021/02/19 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
Python项目跨域问题解决方案
2020/06/22 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
英国鹦鹉店:Parrot Essentials
2018/12/03 全球购物
欧洲领先的技术商店:eibmarkt.com
2019/05/10 全球购物
军校大学生个人的自我评价
2014/02/17 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
离职信范本
2015/06/23 职场文书
Golang使用Panic与Recover进行错误捕获
2022/03/22 Golang