PHP批量下载一个网站的图片

PHP批量下载一个网站的图片

PHP批量下载一个网站的图片叶子库论坛_叶子源_叶子签_个人证书定制_定制v_IPA下载_软件分享_轻松签_全能签_P12证书定制_UDID签名_叶子小花园—果粉的专属资源分享论坛!叶子论坛
PHP批量下载一个网站的图片
此内容为付费资源,请付费后查看
50积分
付费资源

前言

今天逛网站发现一个手机壁纸网站,然后就有产生了给网站壁纸都扒下来存本地的冲动(莫名其妙的收集癖),但是自己也不会爬虫什么的,就产生了这么一个思路:先通过查看网站源代码,把代码都复制出来,然后在通过工具,把源代码里面的链接都提取出来,再让ChatGPT写了个PHP代码,通过这串代码,把图片链接都下载下来存到本地了。方法是个笨方法,大佬有更好的方法的话欢迎指教。

操作步骤

  • 以我扒的那个网站为例:https://bizihu.com/,他这个网站禁止右键,那么可以通过在他的链接前面加上view-source: 然后访问就可以看到源码了,或者也可以先在其他网站右键,然后查看网站源代码,然后再把链接替换一下即可
  • 获得网站源代码以后,在网上搜一个链接提取工具,我用的是彩虹工具箱,里面有一键提取文本内所有链接的功能,还可以去重,通过这一步把源代码里面的链接都提取出来
  • 然后创建index.phpimg.txt两个文件,把提取出来的链接保存到img.txt,把下方代码复制粘贴到index.php里面并保存,并且在同一目录下创建images文件夹,然后浏览器访问index.php即可自动把img.txt里面的图片下载到images文件夹里面,img.txt我放到资源下载里面了,感兴趣的可以下载下来尝试练练手,总共九千多个图片链接(同时也可以作为昨天发的随机图片的API的img.txt里面的内容)
<?php
// 取消脚本运行时间限制
set_time_limit(0);

// 获取链接中的文件内容
$fileContent = file_get_contents('img.txt的绝对路径,例如https://example.com/img.txt');

// 将每行内容拆分成单独的链接
$imageUrls = explode("\n", $fileContent);

// 保存文件的目标文件夹
$targetFolder = 'images/';

// 记录已下载的图片数量
$downloadedCount = 0;

// 循环处理每个链接
foreach ($imageUrls as $imageUrl) {
    // 去除链接前后的空格
    $imageUrl = trim($imageUrl);
    
    // 判断链接是否为空
    if (!empty($imageUrl)) {
        // 生成保存的文件名
        $fileName = basename($imageUrl);
        
        // 拼接保存的文件路径
        $savePath = $targetFolder . $fileName;
        
        // 保存文件到本地
        if (file_put_contents($savePath, file_get_contents($imageUrl))) {
            echo "图片保存成功:{$savePath}<br>";
            
            // 已下载的图片数量+1
            $downloadedCount++;
        } else {
            echo "图片保存失败:{$savePath}<br>";
        }
    }
}

// 输出已下载的图片数量
echo "已下载的图片数量:{$downloadedCount}";
?>

 

© 版权声明
THE END
喜欢就支持一下吧
点赞5赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称常用语 夸夸
夸夸
还有吗!没看够!
表情代码图片

    暂无评论内容