🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
通过采集的URL 获取内容详情 ~~~ public function content() { ini_set("max_execution_time", "0"); //获取刚采集的URL列表 $title = Db::name('product')->field(['url', 'id', 'title'])->order('id asc')->limit(1500, 100)->select(); $arr_url = []; foreach ($title as $value) { $arr_url[$value['id']] = $value['url']; } //通过多线程循环采集内容详情 $ql = QueryList::getInstance(); $ql->use(CurlMulti::class); //or Custom function name $ql->use(CurlMulti::class, 'curlMulti'); $ql->rules([ 'content' => ['article', 'html'], ])->curlMulti($arr_url)->success(function (QueryList $ql, CurlMulti $curl, $r) { $data = $ql->query()->getData(); $result = $data->all(); //获取采集内容之后, 通过 dump($result); })->start([ // 最大并发数,这个值可以运行中动态改变。 'maxThread' => 50, // 触发curl错误或用户错误之前最大重试次数,超过次数$error指定的回调会被调用。 'maxTry' => 3, // 全局CURLOPT_* 'opt' => [ CURLOPT_TIMEOUT => 10, CURLOPT_CONNECTTIMEOUT => 1, CURLOPT_RETURNTRANSFER => true ], ]); } ~~~