【问题标题】:Using cURL with two matching ranges使用具有两个匹配范围的 cURL
【发布时间】:2018-07-30 22:18:22
【问题描述】:

我正在尝试使用 cURL 下载一批图像。 图像都保存在单独的目录中,命名与图像文件名相同。

我厌倦了使用方括号设置两个范围,一个用于文件名,一个用于目录,但是由于命令先经过第一个范围然后是第二个范围,而不是两个范围都上升,所以这不起作用同时减 1。

curl -f "https://example.com/images/products/[100-200]/[100-200].jpg" -o "/Users/user/Desktop/output/#1.jpg"

是否可以设置 cURL 命令,使目录和文件名的数字每次都加 1?

例子:

https://example.com/images/products/100/100.jpg
https://example.com/images/products/101/101.jpg
https://example.com/images/products/102/102.jpg
https://example.com/images/products/103/103.jpg

等等……

【问题讨论】:

    标签: curl web-scraping wget


    【解决方案1】:

    据我所知,curl url globbing 无法做到这一点。您可以使用现有代码下载所有内容,然后删除不需要的文件,但这效率低下。

    您最好的选择可能是使用循环:

    for index in {100..200}; do 
      curl -f "https://example.com/images/products/$index/$index.jpg" -o "/Users/user/Desktop/output/$index.jpg"
    done
    

    【讨论】:

      猜你喜欢
      • 2016-06-29
      • 1970-01-01
      • 2020-05-10
      • 1970-01-01
      • 1970-01-01
      • 2017-06-20
      • 1970-01-01
      • 2017-04-25
      相关资源
      最近更新 更多