🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
采集需要采集的数据列表 ``` ~~~ public function lists() { ini_set("max_execution_time", "0"); $arr_url = []; for ($i = 0; $i <= 2; $i++) { $arr_url[] = 'https://uhomework.com/category/tutorial/c语言-c-教程/page' . $i . '/'; // $arr_url[] = 'https://uhomework.com/category/tutorial/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E6%95%99%E7%A8%8B/'; } $ql = QueryList::getInstance(); $ql->use(CurlMulti::class); //or Custom function name $ql->use(CurlMulti::class, 'curlMulti'); $ql->rules([ 'url' => ['.listbox .listlitext .texttitle a', 'href'], ])->curlMulti($arr_url)->success(function (QueryList $ql, CurlMulti $curl, $r) { $data = $ql->query()->getData(); $result = $data->all(); //将采集到的列表URL 写入数据库 $new_arr = []; foreach($result as $value){ $new_arr[] = $value['url']; } Db::name('product')->insertAll($new_arr); })->start([ // 最大并发数,这个值可以运行中动态改变。 'maxThread' => 30, // 触发curl错误或用户错误之前最大重试次数,超过次数$error指定的回调会被调用。 'maxTry' => 3, // 全局CURLOPT_* 'opt' => [ CURLOPT_TIMEOUT => 10, CURLOPT_CONNECTTIMEOUT => 1, CURLOPT_RETURNTRANSFER => true ], ]); echo '采集完成'; } ~~~ ```