Làm cách nào tôi có thể tải xuống toàn bộ trang web?


351

Làm cách nào tôi có thể tải xuống tất cả các trang từ một trang web?

Bất kỳ nền tảng là tốt.



@tnorthcutt, tôi cũng ngạc nhiên. Nếu tôi không nhớ quá sai, câu trả lời Wget của tôi đã từng là câu trả lời được chấp nhận và điều này có vẻ như là một điều được giải quyết. Mặc dù vậy, tôi không phàn nàn - đột nhiên sự chú ý được đổi mới mang lại cho tôi nhiều hơn giá trị của đại diện. : P
Jonik

bạn đã thử IDM chưa? superuser.com/questions/14403/ Đăng bài của tôi bị chôn vùi. Bạn đã tìm thấy thiếu gì trong IDM?
Lazer

5
@joe: Có thể giúp đỡ nếu bạn cung cấp chi tiết về các tính năng còn thiếu là gì ...
Ilari Kajaste

Browse-offline.com có thể tải xuống cây hoàn chỉnh của trang web để bạn có thể ... duyệt ngoại tuyến
Menelaos Vergis

Câu trả lời:


334

HTTRACK hoạt động giống như một nhà vô địch để sao chép nội dung của toàn bộ trang web. Công cụ này thậm chí có thể lấy các phần cần thiết để làm cho một trang web có nội dung mã hoạt động ngoại tuyến. Tôi ngạc nhiên về những thứ nó có thể sao chép ngoại tuyến.

Chương trình này sẽ làm tất cả những gì bạn yêu cầu.

Đi săn vui nhé!


7
Đã sử dụng điều này trong nhiều năm - rất khuyến khích.
Umber Ferrule

4
Điều này sẽ sao chép mã ASP thực tế chạy trên máy chủ chứ?
Taptronic

8
@ Giải pháp tối ưu: Không, điều đó là không thể. Bạn sẽ cần quyền truy cập vào các máy chủ hoặc mã nguồn cho điều đó.
Sasha Chedygov

2
Sau khi thử cả omerack và wget cho các trang web có ủy quyền, tôi phải nghiêng về wget. Không thể có được Olerack để làm việc trong những trường hợp đó.
Leo

1
Tùy chọn để xác thực là gì?
vincent mathew

272

Wget là một công cụ dòng lệnh cổ điển cho loại nhiệm vụ này. Nó đi kèm với hầu hết các hệ thống Unix / Linux và bạn cũng có thể tải nó cho Windows . Trên máy Mac, Homebrew là cách dễ nhất để cài đặt nó ( brew install wget).

Bạn sẽ làm một cái gì đó như:

wget -r --no-parent http://site.com/songs/

Để biết thêm chi tiết, xem Hướng dẫn sử dụng Wget và các ví dụ của nó , hoặc ví dụ:


12
Không có câu trả lời nào tốt hơn điều này - wget có thể làm bất cứ điều gì: 3
Phoshi

6
+1 để bao gồm --no-cha. chắc chắn sử dụng --mirror thay vì -r. và bạn có thể muốn bao gồm -L / - liên quan để không theo liên kết đến các máy chủ khác.
quixote quixote

2
Như tôi cũng đã hỏi cho omerack.com - công cụ dòng cmd này có nhận được ASP hay nó sẽ chỉ hiển thị HTML? Tôi phải cố gắng. Điều này có thể gây lo lắng cho các nhà phát triển nếu nó ...
Taptronic

6
@optimal, đầu ra HTML tất nhiên - nó sẽ chỉ nhận được mã nếu máy chủ bị cấu hình sai
Jonik

2
Thật không may, nó không hoạt động với tôi - có một vấn đề với các liên kết đến các tệp css, chúng không được thay đổi thành tương đối, tức là bạn có thể thấy một cái gì đó như thế này trong các tệp: <link rel = "Stylesheet" type = "text / css" href = "/ static / css / reset.css" media = "screen" /> không hoạt động tốt cục bộ, trừ khi có một waz để lừa firefox để nghĩ rằng một số dir nhất định là root.
Gorn

148

Sử dụng wget:

wget -m -p -E -k www.example.com

Các tùy chọn giải thích:

-m, --mirror            Turns on recursion and time-stamping, sets infinite 
                          recursion depth, and keeps FTP directory listings.
-p, --page-requisites   Get all images, etc. needed to display HTML page.
-E, --adjust-extension  Save HTML/CSS files with .html/.css extensions.
-k, --convert-links     Make links in downloaded HTML point to local files.

8
+1 để cung cấp các giải thích cho các tùy chọn được đề xuất. (Mặc dù tôi không nghĩ --mirrorlà rất tự giải thích. Đây là từ trang man: " Tùy chọn này bật đệ quy và dập thời gian, đặt độ sâu đệ quy vô hạn và giữ danh sách thư mục FTP. Hiện tại nó tương đương với -r -N - l inf --no-remove-list ")
Ilari Kajaste

2
Nếu bạn không muốn tải xuống mọi thứ vào một thư mục có tên miền bạn muốn phản chiếu, hãy tạo thư mục của riêng bạn và sử dụng tùy chọn -nH (bỏ qua phần máy chủ).
Rafael Bugajewski

2
Nếu Auth là bắt buộc thì sao?
Val

4
Tôi đã thử sử dụng của bạn wget --mirror -p --html-extension --convert-links www.example.comvà nó chỉ tải về chỉ mục. Tôi nghĩ bạn cần -rtải xuống toàn bộ trang web.
Eric Brotto

4
đối với những người lo ngại về việc giết một trang web do lưu lượng truy cập / quá nhiều yêu cầu, hãy sử dụng -w seconds(để chờ một số bí mật giữa các yêu cầu hoặc --limit-rate=amountđể chỉ định băng thông tối đa sẽ sử dụng trong khi tải xuống
vlad-ardelean 14/07/14


8

Internet Download Manager có tiện ích Site Grabber với rất nhiều tùy chọn - cho phép bạn tải xuống hoàn toàn bất kỳ trang web nào bạn muốn, theo cách bạn muốn.

  1. Bạn có thể đặt giới hạn về kích thước của các trang / tệp để tải xuống

  2. Bạn có thể đặt số lượng trang web chi nhánh sẽ truy cập

  3. Bạn có thể thay đổi cách hành xử của tập lệnh / cửa sổ bật lên / trùng lặp

  4. Bạn có thể chỉ định một tên miền, chỉ trong miền đó, tất cả các trang / tệp đáp ứng các cài đặt được yêu cầu sẽ được tải xuống

  5. Các liên kết có thể được chuyển đổi thành liên kết ngoại tuyến để duyệt

  6. Bạn có các mẫu cho phép bạn chọn các cài đặt ở trên cho bạn

nhập mô tả hình ảnh ở đây

Tuy nhiên, phần mềm không miễn phí - xem nó có phù hợp với nhu cầu của bạn không, hãy sử dụng phiên bản đánh giá.



5

Tôi sẽ giải quyết bộ đệm trực tuyến mà trình duyệt sử dụng ...

Thông thường, hầu hết các trình duyệt sử dụng bộ đệm duyệt để giữ các tệp bạn tải xuống từ một trang web xung quanh một chút để bạn không phải tải xuống hình ảnh tĩnh và nội dung nhiều lần. Điều này có thể tăng tốc mọi thứ khá một chút trong một số trường hợp. Nói chung, hầu hết các bộ đệm của trình duyệt được giới hạn ở một kích thước cố định và khi đạt đến giới hạn đó, nó sẽ xóa các tệp cũ nhất trong bộ đệm.

Các ISP có xu hướng có các máy chủ bộ đệm lưu giữ các bản sao của các trang web thường truy cập như ESPN và CNN. Điều này tiết kiệm cho họ những rắc rối khi truy cập các trang web này mỗi khi có ai đó trên mạng của họ đến đó. Điều này có thể tiết kiệm đáng kể số lượng yêu cầu trùng lặp với các trang web bên ngoài cho ISP.




4

Tôi đã không làm điều này trong nhiều năm, nhưng vẫn còn một vài tiện ích ngoài kia. Bạn có thể muốn thử Web Snake . Tôi tin rằng tôi đã sử dụng nó nhiều năm trước. Tôi nhớ tên ngay khi tôi đọc câu hỏi của bạn.

Tôi đồng ý với Stecy. Xin đừng ham trang web của họ. Rất tệ.


3

Hãy dùng thử BackStreet Browser .

Nó là một trình duyệt ngoại tuyến miễn phí, mạnh mẽ. Một chương trình tải về và xem trang web đa luồng, tốc độ cao. Bằng cách thực hiện nhiều yêu cầu máy chủ đồng thời, BackStreet Browser có thể nhanh chóng tải xuống toàn bộ trang web hoặc một phần của trang web bao gồm HTML, đồ họa, Java Applet, âm thanh và các tệp có thể xác định người dùng khác và lưu tất cả các tệp trong ổ cứng của bạn, ở định dạng gốc của chúng, hoặc dưới dạng tệp ZIP nén và xem ngoại tuyến.

nhập mô tả hình ảnh ở đây


3

Teleport Pro là một giải pháp miễn phí khác sẽ sao chép bất kỳ và tất cả các tệp từ bất kỳ mục tiêu nào của bạn (cũng có phiên bản trả phí cho phép bạn lấy thêm nhiều trang nội dung).


3

DownThemAll là một tiện ích bổ sung của Firefox sẽ tải xuống tất cả nội dung (ví dụ: tệp âm thanh hoặc video) cho một trang web cụ thể chỉ bằng một cú nhấp chuột. Điều này không tải xuống toàn bộ trang web, nhưng đây có thể là điều mà câu hỏi đang tìm kiếm.


Nó chỉ có khả năng tải xuống các liên kết (HTML) và phương tiện (hình ảnh).
Ain

3

Đối với Linux và OS X: Tôi đã viết trang web lấy để lưu trữ toàn bộ trang web vào các tệp WARC . Các tệp WARC này có thể được duyệt hoặc trích xuất. Grab-site cho phép bạn kiểm soát các URL nào sẽ bỏ qua bằng cách sử dụng các biểu thức thông thường và chúng có thể được thay đổi khi thu thập thông tin đang chạy. Nó cũng đi kèm với một bộ mặc định rộng rãi để bỏ qua các URL rác.

Có một bảng điều khiển web để theo dõi thu thập thông tin, cũng như các tùy chọn bổ sung để bỏ qua nội dung video hoặc phản hồi trên một kích thước nhất định.



0

FreeDoadManager.org đáng kính cũng có tính năng này.

Trình quản lý tải xuống miễn phí có hai dạng ở hai dạng: Site Explorer và Site Spider :

Site Explorer
Site Explorer cho phép bạn xem cấu trúc thư mục của một trang web và dễ dàng tải xuống các tệp hoặc thư mục cần thiết.
HTML Spider
Bạn có thể tải xuống toàn bộ trang web hoặc thậm chí toàn bộ trang web với HTML Spider. Công cụ có thể được điều chỉnh để tải xuống các tệp chỉ có phần mở rộng được chỉ định.

Tôi thấy Site Explorer rất hữu ích để xem những thư mục nào cần bao gồm / loại trừ trước khi bạn cố tải xuống toàn bộ trang - đặc biệt là khi có toàn bộ diễn đàn ẩn trong trang mà bạn không muốn tải xuống chẳng hạn.



-3

Firefox có thể làm điều đó một cách tự nhiên (ít nhất là FF 42 có thể). Chỉ cần sử dụng "Lưu trang"

nhập mô tả hình ảnh ở đây


6
Sai lầm! Câu hỏi hỏi làm thế nào để lưu toàn bộ trang web. Firefox không thể làm điều đó.

2
Phương pháp của bạn chỉ hoạt động nếu đó là trang một trang, nhưng nếu trang đó có 699 trang? Sẽ rất mệt mỏi ...
Quidam

-4

Tôi tin rằng google chrome có thể làm điều này trên các thiết bị máy tính để bàn, chỉ cần vào menu trình duyệt và nhấp vào lưu trang web.

Cũng lưu ý rằng các dịch vụ như túi có thể không thực sự lưu trang web và do đó dễ bị thối liên kết.

Cuối cùng lưu ý rằng sao chép nội dung của một trang web có thể vi phạm bản quyền, nếu nó được áp dụng.


3
Một web trang trong trình duyệt của bạn chỉ là một trong số nhiều của một web site .
Arjan

@Arjan Tôi đoán điều đó làm cho lựa chọn của tôi tốn nhiều công sức. Tôi tin rằng mọi người chỉ muốn lưu một trang là phổ biến hơn, vì vậy câu trả lời này có thể tốt hơn cho những người đến đây vì điều đó.
jiggunjer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.