想通过采集代理ip来做代理ip池,通过大量的Ip提高seo效果,习惯了正则处理,但是今天有时间测试下queryList,毕竟工欲善其事必先利其器。
// 保存全部的代理IP $allProxy = []; // 循环爬取数据 for ($i = 0; $i < 10; $i++) { // 页码 $page = $i + 1; // 请求地址 $url = 'https://proxy.ip3366.net/free/?action=china&page=' . $page; // 定义采集规则 $rules = [ 'ip' => ['td[data-title=IP]', 'text'], 'port' => ['td[data-title=PORT]', 'text'], 'type' => ['td[data-title=类型]', 'text'], ]; // 循环的dom主体 $range = 'tbody tr'; $rt = QueryList::get($url)->rules($rules)->range($range)->query()->getData(); foreach ($rt->all() as $ip) { $allProxy[$ip['ip']] = $ip; } // 休息1秒 //sleep(1); }
因项目需要需要统计用户无限下级计算分销佣金,计算每月分红,计算无限下级团队的业绩,需要先获得某个会员的无限下级成员。先看看数据库中的member表字段id username &...
php多进程应用场景主要是非web端,fpm下是不支持多进程的,非类linux操作系统都不支持,请在cli模式使用.可以使用多进程做任务分发,批量计算,批量文件处理,批量爬虫,网络运维等等。下面看一份简单的入门demo//创建子进程 $pid=pcntl_fork(); //返回-1,创建失败,不...
php7新增的特性(1).强制限制只能返回一种类型<?php class task { } //must return an integer function add(): int { &nb...
第一次听说端口复用是在mixphp最新版本中发现的,mixphp启动监听9501端口,现在作者说可以多开几个进程来执行mixphp,我心里想了下再启动不是会端口冲突嘛,但是却没有问题,于是下载mixphp的源码解读,原来是启动http服务器使用new Co\Http\Server('0.0....
php生成器的方法getReturn获取生成器迭代完成后的返回值,当生成器迭代完成会将生成器的返回值返回,因此如果迭代器未进行迭代是获取不到值的,如果你没有return值则返回null,参考代码:<?php function G1() { &nbs...
//设置客户端断开依然运行 ignore_user_abort(true); //设置脚本不超时 set_time_limit(0); //死循环每隔1秒访问一次网址 while (true) { sleep(1); &nb...