想通过采集代理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); }