querylist V4 图片下载

这段代码展示了如何使用QueryList库从ZOL网站抓取并下载桌面壁纸。它首先定义了一个图片下载回调函数,然后通过QueryList设置规则抓取图片URL,并将图片保存到本地,同时在数据中添加了本地路径信息。
摘要由CSDN通过智能技术生成

采集代码:

//采集并下载ZOL桌面壁纸. 扩展一个图片下载功能. 参1:$path 本地保存路径
$ql = QueryList::bind('downloadImage',function ($path){
    $data = $this->getData()->map(function ($item) use($path){
        $img = file_get_contents($item['image']);//获取图片
        $localPath = $path.'/'.md5($img).'.jpg';
        file_put_contents($localPath,$img);//保存图片到本地路径
        $item['local_path'] = $localPath;//data数组中新增一个自定义的本地路径字段
        return $item;
    });
    $this->setData($data);//更新data属性
    return $this;
});
$data = $ql->get('http://desk.zol.com.cn')->rules([
    'image' => ['#newPicList img','src']
])->query()->downloadImage('img')->getData();
print_r($data->all());

采集结果:

Array(
    [0] => Array        (
            [image] => http://desk.fd.zol-img.com.cn/t_s208x130c5/g5/M00/0C/01/ChMkJ1nDaCOIatt0AAStbpl0q7sAAgrLABXih4ABK2G911.jpg
            [local_path] => img/59561f7b8c122d529b9709fdc93283cd.jpg
        )
    [1] => Array        (
            [image] => http://desk.fd.zol-img.com.cn/t_s208x130c5/g5/M00/04/0D/ChMkJ1mvUQ2IRSccAAIWHljxrrYAAgONAMJtn8AAhY2932.jpg
            [local_path] => img/00bfaf54c930247815b6d906827600a9.jpg
        )
    [2] => Array        (
            [image] => http://desk.fd.zol-img.com.cn/t_s208x130c5/g5/M00/04/00/ChMkJ1mtG--IPy-5AAOcpLiVZyQAAgLHwB3T3gAA5y8026.jpg
            [local_path] => img/60ca7c8575da1f7746cb3e69918a7d68.jpg
        )
    // ...
)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值