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 相关文章推荐
eWebEditor v3.8 商业完整版 (PHP)
Dec 06 PHP
用PHP获取Google AJAX Search API 数据的代码
Mar 12 PHP
php 提速工具eAccelerator 配置参数详解
May 16 PHP
如何用phpmyadmin设置mysql数据库用户的权限
Jan 09 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
Sep 30 PHP
php使用正则过滤js脚本代码实例
May 10 PHP
PHP框架Swoole定时器Timer特性分析
Aug 19 PHP
Linux系统下PHP-FPM的安装和配置教程
Aug 17 PHP
Yii使用migrate命令执行sql语句的方法
Mar 15 PHP
什么是OneThink oneThink后台添加插件步骤
Apr 13 PHP
基于php流程控制语句和循环控制语句(讲解)
Oct 23 PHP
详解laravel passport OAuth2.0的4种模式
Nov 04 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图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
微信小程序多张图片上传功能
2017/06/07 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
详解性能更优越的小程序图片懒加载方式
2018/07/18 Javascript
NodeJs项目中关闭ESLint的方法
2018/08/09 NodeJs
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
微信小程序实现工作时间段选择
2019/02/15 Javascript
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
详解Python中的动态属性和特性
2018/04/07 Python
python spyder中读取txt为图片的方法
2018/04/27 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
Pycharm debug调试时带参数过程解析
2020/02/03 Python
解决python调用自己文件函数/执行函数找不到包问题
2020/06/01 Python
Django用户登录与注册系统的实现示例
2020/06/03 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
捷克家电和家具购物网站:OKAY.cz
2020/07/23 全球购物
科技之星事迹材料
2014/06/02 职场文书
科学发展观演讲稿
2014/09/11 职场文书
党支部三会一课计划
2014/09/24 职场文书
实习工作表现评语
2014/12/31 职场文书
母亲节寄语大全
2015/02/27 职场文书
就业推荐表院系意见
2015/06/05 职场文书
导游词之镇江-金山寺
2019/10/14 职场文书
《学会生存》读后感3篇
2019/12/09 职场文书
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL
Redis安装使用RedisJSON模块的方法
2022/03/23 Redis