从网站的单个目录下载所有图像

时间:2011-01-07 02:25:12

标签: php javascript linux perl image

我需要从一个网站获取包含在一个文件夹中的所有图像。例如,(site.com/images/.*)。这可能吗?如果是这样,最好的方式是什么?

5 个答案:

答案 0 :(得分:8)

查看HTTrack软件。它可以下载整个网站。提供网站地址site.com/images/,它将下载此目录中的所有内容。 (如果目录访问不受所有者限制)

答案 1 :(得分:8)

你有FTP访问权限吗?

你有shell访问权限吗?

使用Linux非常简单。不确定窗户。

wget -H -r --level=1 -k -p http://example.com/path/to/images

修改:刚刚找到wget for windows

编辑2:我刚看到PHP标签,为了创建一个可以一次性下载所有图像的PHP脚本,您必须创建一个zip(或等效的)存档并使用正确的标头发送。 Here is how to zip a folder in php,只提取该文件夹中的图像并不难,只需编辑给出的代码,如下所示:

foreach ($iterator as $key=>$value) {
    if (!is_dir($key)) {
        $file = basename($key);
        list($name, $ext) = explode('.', $key);
        switch ($ext) {
            case "png":
            case "gif":
            case "jpg":
                $zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key");
            break;
        }
    }
}

答案 2 :(得分:4)

如果网站允许编制索引,您只需要wget -r --no-parent http://site.com/images/

答案 3 :(得分:1)

取决于images目录是否允许列出内容。如果它确实如此,那么你需要蜘蛛网站才能找到该目录的所有图像引用。

在任何一种情况下,请查看wget

答案 4 :(得分:0)

如果您想查看网页正在使用的图片:如果您使用的是Chrome,则只需按F-12(或在菜单中找到“开发者工具”),然后在“资源”标签上,左侧有一棵树,然后在“帧”下,您将看到“图像”文件夹,然后您可以看到该页面中列出的所有图像。