php在swoole的多线程实现以及多线程爬虫构造

在swoole中,php可以借助其启动子进程的方式,实现php的多进程;

 

<?php 
echo '开始时间:'.date('H:i:s',time());
//进程数
$work_number=6;

//
$worker=[];

//模拟地址
$curl=[
	'https://blog.youkuaiyun.com/feiwutudou',
	'https://wiki.swoole.com/wiki/page/215.html',
	'http://fanyi.baidu.com/?aldtype=16047#en/zh/manager',
	'http://wanguo.net/Salecar/index.html',
	'http://o.ngking.com/themes/mskin/login/login.jsp',
	'https://blog.youkuaiyun.com/marksinoberg/article/details/77816991'
];

//单线程模式
// foreach ($curl as $v) {
// 	echo curldeta($v);
// }

//创建进程
for ($i=0; $i < $work_number; $i++) { 
	//创建多线程
	$pro=new swoole_process(function(swoole_process $work) use($i,$curl){
		//获取html文件
		$content=curldeta($curl[$i]);
		//写入管道
		$work->write($content.PHP_EOL);
	},true);
	$pro_id=$pro->start();
	$worker[$pro_id]=$pro;
}
//读取管道内容
foreach ($worker as $v) {
 	echo $v->read().PHP_EOL;
}

//模拟爬虫
function curldeta($curl_arr)
{	//file_get_contents
	ech
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值