2013-06-24 41 views
97

Tôi đang cố tải xuống các tệp cho một dự án bằng cách sử dụng wget, vì máy chủ SVN cho dự án đó không chạy nữa và tôi chỉ có thể truy cập các tệp thông qua trình duyệt. Các URL cơ sở cho tất cả các file giống nhưLàm thế nào để tải xuống toàn bộ thư mục và thư mục con bằng cách sử dụng wget?

http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/ *

Làm thế nào tôi có thể sử dụng wget (hoặc bất kỳ công cụ tương tự khác) để tải về tất cả các tập tin trong kho lưu trữ này, nơi mà các "tzivi "thư mục là thư mục gốc và có một số tệp và thư mục con (tối đa 2 hoặc 3 cấp độ) trong thư mục đó?

+3

Bạn không thể làm điều đó nếu máy chủ không có trang web có danh sách tất cả các liên kết đến tệp bạn cần. –

+0

bạn có biết tên của tệp không? –

+0

không có tôi không biết tên của tất cả các tập tin.Tôi đã thử wget với các tùy chọn đệ quy nhưng nó đã không làm việc hoặc. Đó là bởi vì máy chủ không có bất kỳ tập tin index.html liệt kê tất cả các liên kết bên trong. – code4fun

Trả lời

139

Bạn có thể sử dụng điều này trong vỏ:

wget -r --no-parent http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/ 

Các thông số là:

-r  //recursive Download 

--no-parent // Don´t download something from the parent directory 

Nếu bạn không muốn tải về toàn bộ nội dung, bạn có thể sử dụng:

-l1 just download the directory (tzivi in your case) 

-l2 download the directory and all level 1 subfolders ('tzivi/something' but not 'tivizi/somthing/foo') 

Và cứ tiếp tục như vậy. Nếu bạn không chèn tùy chọn -l, wget sẽ tự động sử dụng -l 5.

Nếu bạn chèn -l 0, bạn sẽ tải xuống toàn bộ Internet, vì wget sẽ theo mọi liên kết mà nó tìm thấy.

+17

Tuyệt vời, vì vậy để đơn giản hóa cho người đọc tiếp theo: 'wget -r -l1 --no-parent http: // www.stanford.edu/ ~ boyd/cvxbook/cvxbook_additional_exercises /' là câu trả lời cho tôi. Cảm ơn câu trả lời của bạn. – isomorphismes

+2

Tôi đã thử lệnh trên để nhận tất cả các tệp từ 'http: // websitename.com/wp-content/uploads/2009/05' nhưng tất cả những gì tôi nhận được là tệp' index.html' không có gì. Tôi không thể hình dung những gì tôi đã bỏ lỡ. –

+0

@up: Lưu ý rằng wget theo các liên kết, vì vậy bạn cần danh sách thư mục;) – sn0w

11

Bạn có thể sử dụng trong một vỏ:

wget -r -nH --cut-dirs=7 --reject="index.html*" \ 
     http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/ 

Các thông số là:

-r recursively download 

-nH (--no-host-directories) cuts out hostname 

--cut-dirs=X (cuts out X directories) 
4

sử dụng lệnh

wget -m www.ilanni.com/nexus/content/ 
0

bạn cũng có thể sử dụng lệnh này:

wget --mirror -pc --convert-links -P ./your-local-dir/ http://www.your-website.com 

để bạn có được gương chính xác của trang web bạn muốn tải xuống

Các vấn đề liên quan