php querylist 404,Querylist批量采集碰到404咋办
public function makeids()
{
$index = input('param.index');//接收id用于半自動采集
$last = input('param.last');//接收id用于半自動采集
set_time_limit(3600);
$urlmake = [];
$ql = QueryList::getInstance();
for ($i = $index; $i <=$last; $i++) {
for ($j = $i . '000'; $j <= $i . '999'; $j++) {
if (ISCESHI){
$url = LOCALURL."/index.php/index/index/getlists/id/" . $i . '_' . $j;
}else{
$url = SERVICE."/index.php/index/index/getlists/id/" . $i . '_' . $j;
}
$urlmake [] = $url;
if(count($urlmake)>=5){
$ql->use(CurlMulti::class);
$ql->curlMulti($urlmake)
->success(function (QueryList $ql, CurlMulti $curl, $r) {
echo "Current url:{$r['info']['url']} \r\n";
// ? ? ? ? ? ? ? ?if (!empty($r)){
$this->getlists($r['info']['url']);
// ? ? ? ? ? ? ? ?}
unset($urlmake);
$ql->destruct();
})
->start([
// 最大并發數,這個值可以運行中動態改變。
'maxThread' => 1999,
// 觸發curl錯誤或用戶錯誤之前最大重試次數,超過次數$error指定的回調會被調用。
'maxTry' => 3,
// 全局CURLOPT_*
'opt' => [
CURLOPT_TIMEOUT => 3600,
// ? ? ? ? ? ? ? ? ? ?CURLOPT_CONNECTTIMEOUT => 1,
CURLOPT_CONNECTTIMEOUT => 0,
CURLOPT_RETURNTRANSFER => true
],
// 緩存選項很容易被理解,緩存使用url來識別。如果使用緩存類庫不會訪問網絡而是直接返回緩存。
'cache' => ['enable' => false, 'compress' => false, 'dir' => null, 'expire' => 86400, 'verifyPost' => false]
]);
}
}
}
}
總結
以上是生活随笔為你收集整理的php querylist 404,Querylist批量采集碰到404咋办的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dropout和bagging_Drop
- 下一篇: [Android NDK]修复/lib/