Tôi cần trích xuất một trang web thông qua HTTP. Tôi cần tải xuống hình ảnh, HTML, CSS và JavaScript cũng như sắp xếp nó trong một hệ thống tệp.
Có ai biết cách để làm điều này không?
Tôi cần trích xuất một trang web thông qua HTTP. Tôi cần tải xuống hình ảnh, HTML, CSS và JavaScript cũng như sắp xếp nó trong một hệ thống tệp.
Có ai biết cách để làm điều này không?
Câu trả lời:
wget -erobots=off --no-parent --wait=3 --limit-rate=20K -r -p -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" -A htm,html,css,js,json,gif,jpeg,jpg,bmp http://example.com
Điều này chạy trong giao diện điều khiển.
việc này sẽ lấy một trang web, đợi 3 giây giữa các yêu cầu, giới hạn tốc độ tải xuống để nó không giết trang web và che giấu nó theo cách khiến nó dường như chỉ là một trình duyệt để trang web không cắt bạn sử dụng cơ chế chống đỉa.
Lưu ý -A
tham số cho biết danh sách các loại tệp bạn muốn tải xuống.
Bạn cũng có thể sử dụng một thẻ khác, -D domain1.com,domain2.com
để chỉ ra một loạt tên miền bạn muốn tải xuống nếu họ có máy chủ khác hoặc bất cứ thứ gì để lưu trữ các loại tệp khác nhau. Không có cách nào an toàn để tự động hóa điều đó cho mọi trường hợp, nếu bạn không nhận được các tệp.
wget
thường được cài đặt sẵn trên Linux, nhưng có thể được biên dịch một cách tầm thường cho các hệ thống Unix khác hoặc dễ dàng tải xuống cho Windows: GNUwin32 WGET
Sử dụng điều này cho tốt và không xấu.
Giải pháp tốt, miễn phí: HTTrack
HTTrack là một tiện ích trình duyệt ngoại tuyến miễn phí (GPL, libre / miễn phí) và dễ sử dụng.
Nó cho phép bạn tải một trang web World Wide Web từ Internet về một thư mục cục bộ, xây dựng đệ quy tất cả các thư mục, nhận HTML, hình ảnh và các tệp khác từ máy chủ vào máy tính của bạn. HTTrack sắp xếp cấu trúc liên kết tương đối của trang web gốc. Chỉ cần mở một trang của trang web "nhân đôi" trong trình duyệt của bạn và bạn có thể duyệt trang web từ liên kết này đến liên kết khác, như thể bạn đang xem nó trực tuyến. HTTrack cũng có thể cập nhật một trang web nhân đôi hiện có và tiếp tục tải xuống bị gián đoạn. HTTrack có thể cấu hình đầy đủ và có hệ thống trợ giúp tích hợp.
Trên các hệ thống Linux, 'wget' thực hiện điều này, khá nhiều.
Nó cũng đã được chuyển đến một số nền tảng khác, như một số câu trả lời khác đề cập.
Rõ ràng WGet đã được đề cập một vài lần. Giao diện người dùng tốt nhất tôi tìm thấy cho nó là
Có một số UI khác cho WGet xung quanh, một số trong số đó là ứng cử viên cho câu hỏi ui tồi tệ nhất
Bạn cần sử dụng wget - có sẵn cho hầu hết các nền tảng. curl sẽ không yêu cầu tài liệu đệ quy, đó là một trong những thế mạnh chính của wget.
Linux: (thường được bao gồm trong bản phân phối) http://www.gnu.org/software/wget/
Windows: http://gnuwin32.sourceforge.net/packages/wget.htmlm
Mac: http: //www.geekology. co.za/blog/2009/02/macports-compile-and-install-open-source-software-on-mac-os-x/
Vui lòng đảm bảo rằng bạn không làm hỏng trang web - thiết lập độ trễ phù hợp giữa các yêu cầu và đảm bảo rằng nó nằm trong điều khoản dịch vụ của trang web.
-Adam
Trên thực tế, theo dõi bình luận của tôi trong bài đăng của GWLlosa, tôi chỉ nhớ rằng tôi đã cài đặt GnuWin32 và chắc chắn rằng nó có chứa một cổng Windows.
http://sourceforge.net/projects/gnuwin32/
GnuWin32 provides Win32-versions of GNU tools,
or tools with a similar open source licence.
The ports are native ports, that is they rely
only on libraries provided with any 32-bits
MS-Windows operating system, such as
MS-Windows 95 / 98 / 2000 / NT / XP
Tôi đã sử dụng điều này một vài năm trước và nó hoạt động tốt. Chỉ có Windows. Được sử dụng để trở thành phần mềm quảng cáo nhưng không còn nữa, rõ ràng:
wget --random-wait -r -p -e robots=off -U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" --limit-rate=20k -b http://www.example.com
-p
: tham số cho biết wget bao gồm tất cả các tệp, bao gồm cả hình ảnh.-e robots=off
: bỏ qua các quy tắc robot.txt-U "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"
: chuỗi tác nhân người dùng--random-wait
: tránh bị đưa vào danh sách đen--limit-rate=20k
: giới hạn tốc độ tải tệp.-b
: tiếp tục wget sau khi đăng xuất.
-c
(hoặc --continue
) khi có sự cố và tôi phải khởi động lại quy trình.
Tôi nghĩ rằng trình lấy trang web IDM là giải pháp tốt nhất, cũng có Teleport pro
Trình quản lý tải xuống miễn phí cũng có thể tải xuống các trang web hoàn chỉnh.
Windows chỉ tôi nghĩ.