我想从命令行下载web图像。这有时效果很好,有时效果不好,我不明白为什么。下面是一个例子(Wikimedia Commons当天的图片(:
wget https://commons.wikimedia.org/wiki/Main_Page#/media/File:01_Calanche_Piana.jpg
这不知怎么给了我一个.html
HTTP request sent, awaiting response... 200 OK
Length: 185986 (182K) [text/html]
Saving to: 'Main_Page'
然而,下面(这是同一张照片,但有明确选择的分辨率(给了我一个.jpg(这就是我想要的(
wget https://upload.wikimedia.org/wikipedia/commons/thumb/0/01/01_Calanche_Piana.jpg/640px-01_Calanche_Piana.jpg
...
HTTP request sent, awaiting response... 200 OK
Length: 118796 (116K) [image/jpeg]
Saving to: '640px-01_Calanche_Piana.jpg'
我尝试将-O test.jpg
添加到第一个示例中,不过这仍然是一个.html文件。有人知道为什么命令在一种情况下有效,而在另一种情况中无效吗?
为什么命令在一种情况下有效,而在另一种情况中无效?
这个
https://commons.wikimedia.org/wiki/Main_Page#/media/File:01_Calanche_Piana.jpg
尽管最后一封信可能建议链接到HTML页面,但请注意,有#
用于表示URI片段,而这是一个
https://upload.wikimedia.org/wikipedia/commons/thumb/0/01/01_Calanche_Piana.jpg/640px-01_Calanche_Piana.jpg
是实际图像的URL。如果你想知道在给定的URL下是什么类型的文件,但不想下载该文件,你可以做
wget -S --spider https://www.example.com
它将向您显示响应标头,其中可能有很多,但对于确定资源类型,Content-Type
应该足够了。