Tôi biết đây là siêu cũ và tôi chỉ muốn đưa 2 cent của tôi trong
wget -m -k -K -E -l 7 -t 6 -w 5 http://www.website.com
Một làm rõ chút về mỗi thiết bị chuyển mạch:.
-m
Về cơ bản, điều này có nghĩa là "phản chiếu trang web" và nó đệ quy lấy các trang & hình ảnh khi nó lướt qua trang web. Nó kiểm tra dấu thời gian, vì vậy nếu bạn chạy wget một lần thứ 2 với công tắc này, nó sẽ chỉ cập nhật các tệp/trang mới hơn thời gian trước đó.
-k
Điều này sẽ sửa đổi các liên kết trong html để trỏ đến tệp cục bộ. Nếu thay vì sử dụng những thứ như page2.html
làm liên kết trên toàn bộ trang web của bạn, bạn thực sự đang sử dụng đầy đủ http://www.website.com/page2.html
có thể bạn sẽ cần/muốn điều này. Tôi bật nó lên để được ở bên an toàn - rất có thể ít nhất 1 liên kết sẽ gây ra sự cố khác.
-K
Tùy chọn ở trên (chữ thường k) chỉnh sửa html. Nếu bạn muốn phiên bản "không bị ảnh hưởng", hãy sử dụng công tắc này và nó sẽ lưu cả phiên bản đã thay đổi lẫn bản gốc. Nó chỉ là thực hành tốt trong trường hợp một cái gì đó là awry và bạn muốn so sánh cả hai phiên bản.Bạn luôn có thể xóa địa chỉ mà bạn không muốn sau này.
-E
Điều này tiết kiệm HTML & CSS có "phần mở rộng thích hợp". Cẩn thận với điều này - nếu trang web của bạn không có phần mở rộng .html trên mỗi trang, điều này sẽ thêm nó. Tuy nhiên, nếu trang web của bạn đã có mọi tệp được đặt tên giống như ".htm", bạn sẽ kết thúc bằng ".htm.html".
-l 7
Theo mặc định, -m chúng tôi đã sử dụng ở trên sẽ recurse/spider thông qua toàn bộ trang web. Thường thì được rồi. Nhưng đôi khi trang web của bạn sẽ có một vòng lặp vô hạn trong đó trường hợp wget sẽ tải xuống mãi mãi. Hãy nghĩ về ví dụ điển hình của website.com/products/jellybeans/sort-by-/name/price/name/price/name/price
. Hiện nay phần lớn là hiếm - hầu hết các trang web hoạt động tốt và sẽ không làm điều này, nhưng để an toàn, hãy tìm ra số lần nhấp nhiều nhất có thể để truy cập bất kỳ trang nào từ trang chính để truy cập bất kỳ trang thực nào trên trang web, trang nó một chút (nó sẽ hút nếu bạn sử dụng một giá trị của 7 và phát hiện ra một giờ sau đó trang web của bạn là 8 cấp độ sâu!) và sử dụng #. Tất nhiên, nếu bạn biết trang web của bạn có cấu trúc sẽ hoạt động, không có gì sai khi bỏ qua điều này và có được sự thoải mái khi biết rằng trang ẩn 1 trên trang web của bạn thực sự đã tìm thấy 50 cấp độ.
-t 6
Nếu cố gắng truy cập/tải xuống một trang hoặc tệp nhất định không thành công, điều này sẽ đặt số lần thử lại trước khi từ bỏ tệp đó và tiếp tục. Bạn thường muốn nó đến cuối cùng là bỏ cuộc (đặt thành 0 nếu bạn muốn thử mãi mãi), nhưng bạn cũng không muốn từ bỏ nếu trang web này chỉ đang trong một hoặc hai giây. Tôi thấy 6 là hợp lý.
-w 5
Điều này yêu cầu bạn phải đợi một vài giây (5 giây trong trường hợp này) trước khi lấy tệp tiếp theo. Thường là điều quan trọng để sử dụng một cái gì đó ở đây (ít nhất là 1 giây). Hãy để tôi giải thích. Theo mặc định, wget sẽ lấy các trang nhanh nhất có thể. Điều này có thể dễ dàng là nhiều yêu cầu mỗi giây có tiềm năng đặt tải lớn trên máy chủ (đặc biệt nếu trang web được viết bằng PHP, làm cho MySQL truy cập trên mỗi yêu cầu và không sử dụng bộ nhớ cache). Nếu trang web trên lưu trữ được chia sẻ, tải đó có thể khiến ai đó khởi động máy chủ của họ. Ngay cả trên một VPS nó có thể mang lại một số trang web đến đầu gối của họ. Và ngay cả khi bản thân trang web vẫn còn tồn tại, bị bắn phá với số lượng yêu cầu điên rồ trong vòng vài giây có thể trông giống như một cuộc tấn công DOS có thể giúp bạn tự động chặn IP của mình. Nếu bạn không biết chắc chắn rằng trang web có thể xử lý một lượng lớn lưu lượng truy cập, hãy sử dụng -w # switch.5 thường khá an toàn. Thậm chí 1 có lẽ là ok hầu hết thời gian. Nhưng sử dụng một cái gì đó.
Điều này hoàn hảo cho tôi và dễ dàng hơn tùy chọn dòng lệnh. –