我想使用 curl
從下一頁一次下載所有文件: http://www.ime.usp.br/~coelho/mac0122-2013 / ep2 / esqueleto /
我嘗試了 curl http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/
和它在終端中返回了很多行,但是沒有得到任何文件。
我想使用 curl
從下一頁一次下載所有文件: http://www.ime.usp.br/~coelho/mac0122-2013 / ep2 / esqueleto /
我嘗試了 curl http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/
和它在終端中返回了很多行,但是沒有得到任何文件。
改為使用 wget
。
通過Homebrew進行安裝: brew install wget
或MacPorts: sudo port install wget
要從目錄列表中下載文件,請使用 -r
(遞歸), -np
(不遵循指向父目錄的鏈接)和 -k
使下載的HTML或CSS中的鏈接指向本地文件(@xaccrocheur信用)。
wget -r -np -k http:// www。 ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto /
其他有用的選項:
-nd
(無目錄):將所有文件下載到當前目錄 -e robots.off
:忽略robots.txt文件,請勿下載robots.txt文件 -A png,jpg
:僅接受擴展名為 png
或 jpg
-m
(鏡像): -r --timestamping --level inf --no-remove-listing
-nc
, -no-clobber
:如果文件存在,請跳過下載 curl
只能讀取單個網頁文件,實際上,您得到的一串行是目錄索引(如果您訪問該URL,也會在瀏覽器中看到)。要使用 curl
和一些Unix工具魔術來獲取文件,您可以對$(curl -s http://www.ime中的文件使用
之類的東西。 usp.br/~coelho/mac0122-2013/ep2/esqueleto/ | grep href | sed's /.* href =“ //'| sed's /".*//'| grep'^ [a-zA -Z]。*');做curl -s -O http://www.ime.usp.br/~coelho/mac0122-2013/ep2/esqueleto/$filedone
,它將把所有文件放入當前目錄。
對於更詳盡的需求(包括從具有文件夾/目錄的站點中獲取一堆文件), wget
(已在另一個答案中提出)是更好的選擇。 >
參考: http://blog.incognitech.in/download-files-from-apache-server-listing-directory/
您可以使用以下命令:
wget --execute =“ robots = off”-鏡像--convert-links --no-parent --wait = 5 <website-url>
wget
:用於發出CURL請求並將遠程文件下載到我們本地計算機的簡單命令。-execute =“ robots = off”
:在瀏覽頁面時,它將忽略robots.txt文件。如果您沒有獲取所有文件,這將很有幫助。-mirror
:此選項將基本上鏡像給定URL的目錄結構。這是 -N -r -l inf --no-remove-listing
的快捷方式,這意味著:
-N
:除非重新下載文件,否則不要重新獲取文件 -r
:指定遞歸下載 -l inf
:最大遞歸深度(inf或0表示無限)-禁止刪除列表
:請勿刪除“ .listing”文件-轉換鏈接
:使下載的HTML或CSS中的鏈接指向本地文件-無父級
:請勿升至父目錄-wait = 5
:兩次檢索之間要等待5秒鐘。這樣我們就不會破壞服務器。 <website-url>
:這是從中下載文件的網站URL。開心下載:笑臉:
您可以使用 httrack(適用於Windows / MacOS,可以通過Homebrew安裝)。
對於那些希望通過GUI使用應用程序的人來說,有便宜的共享軟件程序 DeepVacuum for Mac OS X,該程序在用戶中實現了 wget
友好的方式,並帶有可以處理常用任務的預設列表。您還可以將自己的自定義配置另存為預設。