php QueryList 采集列表数据记录

想通过采集代理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);
}
访客
邮箱
网址

Top