教你用PHP爬取王者荣耀英雄皮肤高清壁纸(附源码)

本文分享了PHP开发者如何使用Curl和文件操作下载王者荣耀官网英雄皮肤图片的过程,适合研究后端的小伙伴学习。

      午饭后看到一篇文章关于“用Python爬取王者荣耀官网的英雄皮肤图片”,于是顺手用PHP也写了一个,在这里给大家分享一下,贴出源码:

//下载王者荣耀皮肤图片
public function heroSkinDownload(){
    $heroApi = 'https://pvp.qq.com/web201605/js/herolist.json';
    $heroArr = json_decode(Curl::get($heroApi),true);
    foreach ($heroArr as $v){
        $saveDir = '/heroskin/' . $v['cname'] . '/';
        $i = 1;
        while (true){
            $url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/'.$v['ename'].'/'.$v['ename'].'-bigskin-'.$i.'.jpg';
            $headers = get_headers($url);
            if (!strstr($headers[0], '200')) {
                break;
            }
            if (!file_exists($saveDir)) {
                mkdir($saveDir);
            }
            $this->downloadFile($url, $saveDir . str_replace('/', '', parse_url($url)['path']));
            $i++;
        }
        echo "下载==".$v['cname']."==success\n";
    }
}

//下载远程文件
public function downloadFile($file_url, $save_to) {
     $ch = curl_init();
     curl_setopt($ch, CURLOPT_POST, 0);
     curl_setopt($ch,CURLOPT_URL,$file_url);
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
     $file_content = curl_exec($ch);
     curl_close($ch);
     $downloaded_file = fopen($save_to, 'w');
     fwrite($downloaded_file, $file_content);
     fclose($downloaded_file);
}

      运行如下:

      下载结果:

 

      (喜欢研究后端的小伙伴们可以点个关注~~~)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李维山

帮到你就行 不差钱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值