【问题标题】:Downloading site images through terminal using curl使用 curl 通过终端下载站点图像
【发布时间】:2012-10-18 13:45:03
【问题描述】:

我正在尝试将大量图片从网站下载到我的 Mac 上。我可以使用 DownloadThemAll、SiteSucker 等下载较小的图像,但它们的挖掘不够深入。所以我不得不跳进终端,这有点超出我的舒适区,我的技能有点生疏。

我尝试了以下脚本:

curl -O http://www.domain.co.uk/system/images/[1-1000]/original/*.jpg

此脚本有效,我可以看到终端正在下载图像文件,但我遇到的问题是文件被 *.jpg 覆盖,而不是按顺序生成它们,例如 1.jpg、2.jpg、3 .jpg 等,甚至使用它们的原始名称。原始 jpg 名称使用随机数字/字母(例如 LIC0145_websource.jpg),这就是我尝试用 *.jpg 对其进行补充的原因。我想知道我缺少哪段代码来告诉终端下载这些图像。

我也厌倦了调用下面的 shell 脚本,但遇到了“意外的文件结尾”

#!/bin/bash
for i in `seq 1 1000`;
do
input=http://www.domain.co.uk/system/images/$i/original/*.jpg
output=$i.jpg
#   echo $input, $output
curl --output $output --remote-name $input
done

我认为 curl 选项可能仍然是更好的选择,但如果有人有任何修复或其他解决方案,请告诉我。

【问题讨论】:

    标签: image shell curl download


    【解决方案1】:

    你可以用wget做这样的事情(我知道那不是curl):

    wget --no-parent --accept=jpg,jpeg,htm,html --mirror  http://somedomain/ 
    

    然后CD到目录并发出一个

    find ./ \( -iname '*.htm' -o -iname '*.html' \) -exec rm {} \;
    

    【讨论】:

    • 感谢您的快速回复。当我在站点上运行 wget 时,它试图镜像站点,但似乎没有从该目录中获取图像domain.co.uk/system/images/$i/original 上面的 curl 脚本有效,但我遇到的问题是我不得不告诉终端不要打电话每个文件 *.jpg 并覆盖下载的每个 jpg。
    猜你喜欢
    • 1970-01-01
    • 2015-11-26
    • 2022-11-19
    • 1970-01-01
    • 2018-10-04
    • 1970-01-01
    • 2011-06-30
    • 2018-04-08
    • 1970-01-01
    相关资源
    最近更新 更多