Có rất nhiều cách bạn có thể tải xuống tài nguyên từ web. Ngoài trình duyệt của bạn, bạn cũng có thể sử dụng một công cụ như wget để tải xuống tài nguyên từ Web trong khi bạn làm việc khác. Trong bài viết này, chúng tôi hướng dẫn bạn cách tải xuống và sử dụng wget trên Mac.
Wget là gì (Và nó được sử dụng để làm gì)?
Đối với những người không biết, wget là một tiện ích dòng lệnh không tương tác mã nguồn mở để giúp bạn tải xuống các tài nguyên từ một URL được chỉ định. Bởi vì nó không tương tác, wget có thể hoạt động trong nền hoặc trước cả khi bạn đăng nhập.
Đó là một dự án của nhóm GNU và thật tuyệt nếu bạn có kết nối Internet kém. Điều này có nghĩa là nó mạnh mẽ trong các điều kiện không phải là tối ưu.
Sau khi cài đặt wget, bạn sẽ chạy các lệnh và chỉ định điểm đến cho các tệp của mình. Chúng tôi sẽ hướng dẫn bạn cách thực hiện việc này tiếp theo.
Cách cài đặt wget trên Mac
Trước khi cài đặt wget, bạn cần một trình quản lý gói. Mặc dù wget không đi kèm với macOS, nhưng bạn có thể tải xuống và cài đặt nó bằng Homebrew - trình quản lý gói Mac tốt nhất hiện có.
1. Tải xuống và cài đặt Homebrew
Để cài đặt Homebrew, trước tiên hãy mở cửa sổ Terminal và thực hiện lệnh sau:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Điều này sử dụng curl
lệnh tải xuống các tệp gửi trong bản cài đặt Ruby được cài đặt sẵn trên macOS.
Sau khi bạn nhấn Enter để chạy lệnh, trình cài đặt sẽ cung cấp cho bạn chi tiết rõ ràng về những gì sẽ xảy ra.
Sau khi bạn xác nhận, trình cài đặt sẽ chạy.
2. Cài đặt wget từ dòng lệnh
Tiếp theo, chúng tôi muốn sử dụng Homebrew để cài đặt wget. Từ Terminal một lần nữa, hãy chạy:
brew install wget
Trình cài đặt sẽ cung cấp cho bạn các bản cập nhật tiến trình trực tiếp và bạn chỉ cần thực hiện một số thao tác ở đây. Quá trình này đơn giản và tự động. Mặc dù vậy, nếu bạn đã cài đặt Homebrew, hãy đảm bảo chạy brew update
để nhận các bản sao mới nhất của tất cả các công thức của bạn.
Khi bạn nhìn thấy lời nhắc mới trong Thiết bị đầu cuối của mình, bạn đã sẵn sàng sử dụng wget trên Mac để tải xuống tài nguyên.
Cách sử dụng wget để tải xuống tài nguyên web
Để tải xuống tài nguyên từ xa từ một URL bằng wget, bạn sẽ muốn sử dụng cấu trúc sau:
wget -O path/to/local.copy https://example.com/url/to/download.html
Điều đó sẽ lưu tệp được chỉ định trong URL vào vị trí được chỉ định trên máy của bạn.
Nếu bạn loại trừ -O
“Cờ”, vị trí tải xuống của bạn sẽ là thư mục hoạt động hiện tại.
Ví dụ:chúng tôi muốn tải một trang web xuống thư mục Tải xuống:
wget -O /Users/[your-username]/Downloads/status.html https://www.w3.org/Status.html
Tuy nhiên, để làm điều tương tự mà không có -O
cờ, chúng tôi cần thay đổi thư mục (cd downloads
) trước khi chúng tôi chạy wget:
wget /Users/[your-username]/Downloads/status.html https://www.w3.org/Status.html
Bạn sẽ nhận được chi tiết đầy đủ về tiến trình tải xuống, mặc dù, với tốc độ nhanh như thế nào, thông tin này giống như một bản tóm tắt của quá trình tải xuống hơn là cập nhật theo thời gian thực.
Cách tải xuống thư mục đệ quy
Để tải xuống toàn bộ cây thư mục với wget, bạn cần sử dụng -r
/ --recursive
và -np
/ --no-parent
cờ:
wget -e robots=off -r -np https://www.w3.org/History/19921103-hypertext/hypertext/
Điều này sẽ khiến wget theo bất kỳ liên kết nào được tìm thấy trên các tài liệu trong thư mục được chỉ định. Từ đó, nó sẽ thực hiện tải xuống đệ quy toàn bộ đường dẫn URL được chỉ định.
Ngoài ra, hãy lưu ý -e robots=off
yêu cầu. Điều này bỏ qua các hạn chế trong tệp robots.txt. Nói chung, bạn nên tắt tệp robots.txt để ngăn tải xuống tóm tắt.
Sử dụng Cờ bổ sung với wget
Bạn sẽ thấy rằng wget là một công cụ linh hoạt, vì nó sử dụng một số cờ bổ sung khác. Điều này thật tuyệt nếu bạn có các yêu cầu cụ thể cho việc tải xuống của mình.
Chúng ta hãy xem xét hai lĩnh vực mà chúng tôi tập trung vào việc kiểm soát quá trình tải xuống và tạo nhật ký.
Kiểm soát cách wget sẽ tải xuống tài nguyên
Có nhiều cờ để giúp bạn thiết lập quá trình tải xuống. Dưới đây chỉ là một số hữu ích nhất:
-
wget -X /absolute/path/to/directory
sẽ loại trừ một thư mục cụ thể trên máy chủ từ xa. -
wget -nH
loại bỏ các thư mục "tên máy chủ". Nói cách khác, nó bỏ qua tên miền chính. Ví dụ:wget sẽ bỏ quawww.w3.org
trong ví dụ trước và bắt đầu vớiHistory
thay vào đó là thư mục. -
wget --cut-dirs=#
bỏ qua số lượng thư mục được chỉ định xuống URL trước khi bắt đầu tải xuống tệp. Ví dụ:-nH --cut-dirs=1
sẽ thay đổi đường dẫn đã chỉ định của “ftp.xemacs.org/pub/xemacs/” thành “/ xemacs /” và giảm số lượng thư mục mẹ trống trong bản tải xuống cục bộ. -
wget -R index.html
/wget --reject index.html
sẽ bỏ qua bất kỳ tệp nào khớp với tên tệp đã chỉ định. Trong trường hợp này, nó sẽ loại trừ tất cả các tệp chỉ mục. Dấu hoa thị (*) là một ký tự đại diện, chẳng hạn như “* .png”. Thao tác này sẽ bỏ qua tất cả các tệp có phần mở rộng PNG. -
wget -i file
chỉ định các URL mục tiêu từ một tệp đầu vào. Tệp đầu vào này phải ở định dạng HTML hoặc bạn sẽ cần sử dụng--force-html
gắn cờ để phân tích cú pháp HTML. -
wget -nc
/wget --no-clobber
sẽ không ghi đè lên các tệp đã tồn tại trong đích. -
wget -c
/wget --continue
sẽ tiếp tục tải xuống các tệp đã tải xuống một phần. -
wget -t 10
sẽ cố gắng tải xuống tài nguyên tối đa 10 lần trước khi không thành công.
wget có thể làm nhiều việc hơn là kiểm soát quá trình tải xuống, vì bạn cũng có thể tạo nhật ký để tham khảo trong tương lai.
Điều chỉnh mức độ ghi nhật ký
Bạn cũng có thể coi các cờ sau như một cách một phần để kiểm soát đầu ra bạn nhận được khi sử dụng wget.
-
wget -d
cho phép đầu ra gỡ lỗi. -
wget -o path/to/log.txt
cho phép đầu ra ghi nhật ký vào thư mục được chỉ định thay vì hiển thị đầu ra chuẩn đăng nhập. -
wget -q
tắt tất cả đầu ra của wget, bao gồm cả thông báo lỗi. -
wget -v
bật rõ ràng mặc định của wget về đầu ra dài dòng. -
wget --no-verbose
tắt thẻ nhớ nhật ký nhưng hiển thị thông báo lỗi.
Bạn thường muốn biết điều gì đang xảy ra trong quá trình tải xuống, vì vậy, bạn có thể không sử dụng những cờ này nhiều như những cờ khác. Tuy nhiên, nếu bạn có một lượng lớn tải xuống và muốn đảm bảo rằng bạn có thể khắc phục bất kỳ sự cố nào, thì việc có nhật ký hoặc thiếu đầu ra là một cách tiếp cận hợp lệ.
Kết luận
Mặc dù bạn có thể sử dụng trình duyệt của mình hoặc GUI khác để tải xuống các trang web và các tài nguyên khác, nhưng bạn có thể tiết kiệm thời gian với dòng lệnh. Một công cụ như wget mạnh mẽ - hơn cả trình duyệt của bạn - và cũng rất linh hoạt. Để có mô tả đầy đủ về các khả năng của wget, bạn có thể xem lại trang người dùng GNU của wget.
Nếu bạn nhận thấy tiện ích đó không hoạt động với mình, có thể đã đến lúc chẩn đoán sự cố với kết nối Wi-Fi của bạn. Bạn sẽ sử dụng wget trên Mac để tải xuống các tài nguyên web chứ? Chia sẻ suy nghĩ của bạn trong phần bình luận bên dưới!