Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays goutte-laravel多重代理迭代_Arrays_Proxy_Cron_Laravel 5.4_Goutte - Fatal编程技术网

Arrays goutte-laravel多重代理迭代

Arrays goutte-laravel多重代理迭代,arrays,proxy,cron,laravel-5.4,goutte,Arrays,Proxy,Cron,Laravel 5.4,Goutte,我有10个代理的数组集,设置了2000个关键字来抓取数据。所以我需要在每个代理IP上传递20个关键字,为此,我每小时设置cron hourly,即每小时200个关键字,从数组中随机选择10个代理。代理不应在任何一小时内重复。我使用下面的代码,但没有给出确切的结果 $proxy = [ '0' => 'x.x.x.x:80', '1' => 'x.x.x.x:80',

我有10个代理的数组集,设置了2000个关键字来抓取数据。所以我需要在每个代理IP上传递20个关键字,为此,我每小时设置cron hourly,即每小时200个关键字,从数组中随机选择10个代理。代理不应在任何一小时内重复。我使用下面的代码,但没有给出确切的结果

$proxy = [
                    '0' => 'x.x.x.x:80',
                    '1' => 'x.x.x.x:80',
                    '2' => 'x.x.x.x:80',
                    '3' => 'x.x.x.x:80',
                    '4' => 'x.x.x.x:80',
                    '5' => 'x.x.x.x:80',
                    '6' => 'x.x.x.x:80',
                    '7' => 'x.x.x.x:80',
                    '8' => 'x.x.x.x:80',
                    '9' => 'x.x.x.x:80'
                ];

    foreach($proxy as $prox){

         $website[] = $prox[mt_rand(0, count($prox) - 1)];

         $keyword = keyword::take(20)->get();

         foreach($keyword as $list){


                //scraping code
                $client = new Client($website);

                $client->setAuth('xxx', 'xxx', 'basic');

                $client->setHeader('user-agent', "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/6.0.472.63 Safari/534.3");
                $crawler = $client->request('GET', $url);
                $status = $client->getResponse()->getStatus();

                //store the data in database 
         }


    }

如有任何建议,将不胜感激

嘿!有点不确定你的问题是什么。但是,我的建议是放弃代理处理,使用类似的服务。他们的API将处理代理的旋转,并确保它们被验证,等等,所以你不必担心它!我使用付费代理。如果我使用一个IP,它就可以正常工作。若我运行IP的数组,它会这样给出数组。但是我不知道该怎么做,我不知道该怎么做。如果你有什么想法,请告诉我