Tải xuống nhiều tệp từ Internet theo cách thủ công như một phần của thói quen hàng ngày của bạn thực sự có thể là một cơn ác mộng. Và nếu bạn đang tìm cách tự động tải xuống tệp của mình, thì Wget của Python là công cụ phù hợp với bạn
Trong hướng dẫn này, bạn sẽ tìm hiểu nhiều cách để tải xuống các tệp, từ việc chạy lệnh
wget [options] url
9 cơ bản của Python đến tạo một tập lệnh để tải xuống nhiều tệp cùng lúcHãy bắt tay vào việc
điều kiện tiên quyết
Hướng dẫn này sẽ là một cuộc biểu tình thực hành. Nếu bạn muốn làm theo, hãy chắc chắn rằng bạn có những điều sau đây
- Visual Studio Code [VS Code] – Hướng dẫn này sử dụng Visual studio code phiên bản 1. 58. 2 [64bit]
Có liên quan. Những điều bạn cần biết về Visual Studio Code. Hướng dẫn - Python – Hướng dẫn này sẽ sử dụng Python v3. 9. 6
- PC Windows -Hướng dẫn này sử dụng Windows 10 để trình diễn nhưng hoạt động cho Windows 7 và 8. 1
Tải xuống và cài đặt Wget trên Windows
Wget là một tiện ích không tương tác để tải xuống các tệp từ xa từ internet. Ngoài việc được tích hợp sẵn với HĐH dựa trên Unix, lệnh
wget [options] url
9 còn có phiên bản được tích hợp cho HĐH Windows. Tại thời điểm viết bài, phiên bản Wget Windows mới nhất là 1. 21. 6Trước khi bạn tải xuống các tệp bằng lệnh
wget [options] url
9, trước tiên hãy tìm hiểu cách tải xuống và cài đặt Wget trên PC Windows của bạn1. Tải xuống Wget cho 64bit hoặc 32bit cho Windows
2. Mở File Explorer và tìm wget. exe bạn đã tải xuống, sau đó sao chép và dán tệp đó vào C. Thư mục \Windows\System32 để thêm wget. exe vào biến môi trường PATH. Biến môi trường PATH chỉ định các bộ thư mục được tìm kiếm để tìm lệnh hoặc chạy các chương trình thực thi
thêm wget. exe trong biến môi trường PATH cho phép bạn chạy lệnh
wget [options] url
9 từ bất kỳ thư mục làm việc nào trong dấu nhắc lệnh3. Bây giờ, khởi chạy dấu nhắc lệnh và xác nhận phiên bản [
wget //eternallybored.org/misc/wget/1.21.1/64/wget.exe
3] của Wget [wget [options] url
9] mà bạn đã tải xuống bằng lệnh bên dướiwget --version
Khi bạn thấy đầu ra trên ảnh chụp màn hình bên dưới, thì Wget đã được cài đặt thành công trong máy của bạn
Tải xuống tệp trực tiếp từ một URL
Bây giờ bạn đã cài đặt Wget, hãy bắt đầu chạy các lệnh cơ bản của
wget [options] url
9. Có lẽ bạn muốn tải xuống một tệp từ một URL cụ thể. Trong trường hợp đó, bạn chỉ cần cú pháp lệnh cơ bản wget [options] url
9 và chỉ định URL để tải xuống tệp từCó liên quan. Tải xuống tệp có Lệnh wget PowerShell thay thế
Dưới đây, bạn có thể xem cú pháp cơ bản để chạy lệnh
wget [options] url
9. Lưu ý rằng sau lệnh wget [options] url
9, bạn sẽ chỉ định các tùy chọn khác nhau theo sau là URL của trang webwget [options] url
Tải xuống một tệp vào thư mục làm việc
Với cú pháp lệnh
wget [options] url
9 mà bạn đã học vẫn còn nguyên trong bộ nhớ của mình, hãy xem tải tệp xuống thư mục làm việc bằng cách chạy lệnh wget [options] url
9 mà không có tùy chọn bổ sungChạy lệnh bên dưới để tải xuống wget. exe từ URL được chỉ định [
wget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
1] vào thư mục làm việcwget //eternallybored.org/misc/wget/1.21.1/64/wget.exe
Khi bạn thấy đầu ra này trên dấu nhắc lệnh của mình, tệp đã được tải xuống thành công
Tải tệp xuống một đường dẫn tệp cụ thể
Bạn vừa tải một tệp xuống thư mục làm việc của mình, nhưng nếu bạn muốn tải tệp xuống một đường dẫn tệp cụ thể thì sao?
Chạy lệnh
wget [options] url
9 bên dưới và thêm tùy chọn wget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
3 để chỉ định đường dẫn tệp [wget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
4] để lưu tệp bạn đang tải xuốngwget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
Mở File Explorer và điều hướng đến vị trí tải xuống mà bạn đã chỉ định [C. \Temp\Downloads] để xác nhận rằng bạn đã tải xuống tệp thành công
Tải xuống và đổi tên tệp
Tải xuống một tệp vào thư mục ưa thích của bạn bằng một lệnh duy nhất là đủ tuyệt vời. Nhưng có lẽ bạn muốn tải xuống một tệp có tên khác. Nếu vậy, cờ
wget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
5 là câu trả lời. Thêm cờ wget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
5 cho phép bạn xuất tệp bạn đang tải xuống bằng một tên khácBên dưới, hãy chạy cú pháp lệnh cơ bản
wget [options] url
9 để tải xuống tệp wget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
8 từ một URL cụ thể. Nhưng lần này, hãy thêm cờ wget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
5 để đổi tên tệp bạn đang tải xuống. Vì vậy, thay vì wget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
8, bạn đang đặt tên tệp là wget -o new_wget.exe //eternallybored.org/misc/wget/1.21.1/64/wget.exe
1wget -o new_wget.exe //eternallybored.org/misc/wget/1.21.1/64/wget.exe
Bạn có thể thấy bên dưới trong File Explorer rằng tệp đã tải xuống có tên new_wget. người cũ
Tải xuống phiên bản mới hơn của tệp
Có lẽ bạn muốn tải xuống phiên bản mới hơn của tệp bạn đã tải xuống trước đó. Nếu vậy, việc thêm tùy chọn
wget -o new_wget.exe //eternallybored.org/misc/wget/1.21.1/64/wget.exe
2 vào lệnh wget của bạn sẽ thực hiện thủ thuật. Các ứng dụng trên trang web có xu hướng được cập nhật theo thời gian và tùy chọn wget -o new_wget.exe //eternallybored.org/misc/wget/1.21.1/64/wget.exe
2 kiểm tra phiên bản cập nhật của tệp trong URL đã chỉ địnhLệnh
wget [options] url
9 bên dưới kiểm tra [wget -o new_wget.exe //eternallybored.org/misc/wget/1.21.1/64/wget.exe
2] và tải xuống phiên bản mới hơn của tệp wget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
8 vào C. Thư mục \Temp\Downloadswget ‐‐timestamp ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
Nếu tệp [wget. exe] đã được sửa đổi từ phiên bản bạn đã chỉ định, bạn sẽ nhận được kết quả tương tự như trong các ví dụ trước. Nhưng nếu không, bạn sẽ thấy ảnh chụp màn hình bên dưới. Lưu ý phần có ghi Không được sửa đổi, cho biết không có phiên bản mới hơn mới hơn của tệp bạn đang tải xuống
Tải xuống tệp từ một trang web yêu cầu tên người dùng và mật khẩu
Hầu hết các trang web yêu cầu người dùng phải đăng nhập để truy cập hoặc tải xuống một số tệp và nội dung. Để thực hiện điều này, Wget cung cấp các tùy chọn
wget -o new_wget.exe //eternallybored.org/misc/wget/1.21.1/64/wget.exe
7 và wget -o new_wget.exe //eternallybored.org/misc/wget/1.21.1/64/wget.exe
8. Với các tùy chọn này, Wget cung cấp tên người dùng và mật khẩu để xác thực yêu cầu kết nối của bạn khi tải xuống từ một trang webDưới đây là cú pháp cơ bản của lệnh
wget [options] url
9 để tải xuống tệp từ các trang web yêu cầu tên người dùng tài khoản của bạn [wget ‐‐timestamp ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
0] và mật khẩu [wget ‐‐timestamp ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
1]wget --user=myusername --ask-password=mypassword //downloads.mongodb.com/compass/mongodb-compass-1.28.1-win32-x64.zip
Bạn sẽ thấy kết quả tương tự như hình bên dưới nếu lệnh thành công
Tải xuống một trang web
Thay vì một tệp, có lẽ bạn đang cố tải xuống một trang web để giữ một bản sao cục bộ. Trong trường hợp đó, bạn sẽ chạy một lệnh tương tự để tải xuống một tệp, nhưng với các tùy chọn bổ sung
Chạy lệnh
wget [options] url
9 bên dưới để tải xuống trang chủ của trang web wget ‐‐timestamp ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
3 và tạo một thư mục có tên miền. com trong thư mục làm việc. Lĩnh vực. thư mục com là nơi lưu trang chủ đã tải xuống [wget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
5]Lệnh này cũng tạo một tệp
wget ‐‐timestamp ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
5 trong thư mục làm việc thay vì in đầu ra trên bàn điều khiểnwget -r //domain.com/ -o log
Bên dưới, bạn sẽ thấy bản sao cục bộ của trang web đã tải xuống và tệp nhật ký nơi lưu nhật ký tải xuống
Bạn cũng có thể đặt một số tùy chọn cùng nhau, không yêu cầu đối số. Dưới đây, bạn có thể thấy rằng thay vì viết các tùy chọn một cách riêng biệt [
wget ‐‐timestamp ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
6], bạn có thể kết hợp chúng theo định dạng này [wget ‐‐timestamp ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
7]wget -d -r -c //domain.com/ -o log # Standard option declaration
wget -drc //domain.com/ -o log # Combined options
Tải xuống toàn bộ trang web
Thay vì chỉ một trang web, bạn cũng có thể muốn tải xuống toàn bộ trang web để xem trang web được xây dựng như thế nào. Để làm như vậy, bạn sẽ cần định cấu hình lệnh
wget [options] url
9 như sau- Sao chép [
9] trang web [wget ‐‐timestamp ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
0] và đảm bảo tất cả các tệp [_______39_______1], bao gồm tập lệnh, hình ảnh, v.v. , được bao gồm trong phần tải xuốngwget --user=myusername --ask-password=mypassword //downloads.mongodb.com/compass/mongodb-compass-1.28.1-win32-x64.zip
- Bây giờ thêm tùy chọn
2 để đặt vị trí tải xuống [wget --user=myusername --ask-password=mypassword //downloads.mongodb.com/compass/mongodb-compass-1.28.1-win32-x64.zip
3]wget --user=myusername --ask-password=mypassword //downloads.mongodb.com/compass/mongodb-compass-1.28.1-win32-x64.zip
- Đảm bảo bạn chỉ tải xuống trang web cụ thể bằng cách thêm tùy chọn
4 vào lệnh của bạn. Hầu hết các trang web đều có các trang có liên kết trỏ đến tài nguyên cho các trang web khác. Bạn cũng đang tải xuống tất cả các trang web được liên kết khác khi bạn tải xuống một trang web mà bạn có thể không cầnwget --user=myusername --ask-password=mypassword //downloads.mongodb.com/compass/mongodb-compass-1.28.1-win32-x64.zip
wget --mirror -p --convert-links -P ./local-dir //www.domain.com/
Khi bạn thấy đầu ra bên dưới, tệp đã được tải xuống thành công
Wget tải xuống tất cả các tệp tạo nên toàn bộ trang web vào thư mục local-dir, như hình bên dưới
Lệnh bên dưới đưa ra kết quả tương tự như lệnh trước bạn đã thực hiện. Sự khác biệt là tùy chọn
wget --user=myusername --ask-password=mypassword //downloads.mongodb.com/compass/mongodb-compass-1.28.1-win32-x64.zip
5 đặt khoảng thời gian 15 giây khi tải xuống mỗi trang web. Trong khi tùy chọn wget --user=myusername --ask-password=mypassword //downloads.mongodb.com/compass/mongodb-compass-1.28.1-win32-x64.zip
6 đặt giới hạn tốc độ tải xuống thành wget --user=myusername --ask-password=mypassword //downloads.mongodb.com/compass/mongodb-compass-1.28.1-win32-x64.zip
7mbpswget [options] url
0Tải xuống các tệp từ các URL khác nhau cùng một lúc
Như bạn đã làm trong các ví dụ trước, việc tải xuống các tệp theo cách thủ công mỗi ngày rõ ràng là một công việc tẻ nhạt. Wget cung cấp tính linh hoạt để tải xuống các tệp từ nhiều URL bằng một lệnh duy nhất, yêu cầu một tệp văn bản
Nghe giống một giá rẻ?
Mở trình soạn thảo văn bản yêu thích của bạn và nhập URL của các tệp bạn muốn tải xuống, mỗi tệp trên một dòng mới, giống như hình bên dưới
Bây giờ, hãy chạy lệnh bên dưới để tải xuống các tệp từ mỗi URL bạn đã liệt kê trong tệp văn bản
wget [options] url
1Bên dưới, bạn có thể xem đầu ra của tiến trình tải xuống của từng tệp
Tiếp tục quá trình tải xuống bị gián đoạn
Đến bây giờ, bạn đã biết cách tải tệp xuống bằng lệnh
wget [options] url
9. Nhưng có lẽ, quá trình tải xuống của bạn bị gián đoạn trong quá trình tải xuống. Bạn sẽ làm gì? Dưới đây là một ví dụ về việc tải xuống bị gián đoạn do bạn mất kết nối internet. Lưu ý rằng tiến trình tải xuống [7%] bị kẹt và eta tiếp tục đếm
Quá trình tải xuống sẽ tự động tiếp tục khi bạn có kết nối internet trở lại. Nhưng trong các trường hợp khác, chẳng hạn như nếu dấu nhắc lệnh bị lỗi bất ngờ hoặc PC của bạn khởi động lại, bạn sẽ tiếp tục tải xuống như thế nào?
Chạy lệnh
wget [options] url
9 bên dưới để tiếp tục [wget -r //domain.com/ -o log
0] quá trình tải xuống tệp wget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
8 bị gián đoạnwget [options] url
2Bạn có thể thấy bên dưới rằng quá trình tải xuống bị gián đoạn đã tiếp tục ở mức 7% khi bị gián đoạn [không phải lúc nào cũng vậy]. Bạn cũng sẽ thấy tổng dung lượng và kích thước tệp còn lại để tải xuống
Ngoài ra, bạn có thể muốn đặt một số lần nhất định lệnh
wget [options] url
9 sẽ thử lại quá trình tải xuống bị lỗi hoặc bị gián đoạnThêm tùy chọn
wget -r //domain.com/ -o log
5 trong lệnh wget [options] url
9 bên dưới để đặt wget -r //domain.com/ -o log
7 cố gắng hoàn tất tải xuống tệp wget ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
8 nếu quá trình tải xuống không thành công. Để minh họa cách hoạt động của tùy chọn wget -r //domain.com/ -o log
5, hãy làm gián đoạn quá trình tải xuống bằng cách ngắt kết nối máy tính của bạn khỏi internet ngay khi bạn chạy lệnhwget [options] url
3Bên dưới, bạn có thể thấy quá trình tải xuống dừng lại và yêu cầu HTTP đang chờ phản hồi
Bây giờ, hãy kết nối lại máy tính của bạn với internet và bạn sẽ thấy quá trình tải xuống sẽ tự động tiếp tục, như hình bên dưới. Bạn có thể thấy rằng đây là lần thử tải xuống tệp thứ hai
Tạo tập lệnh Python để tải xuống tệp
Cho đến nay, bạn đã học cách tải tệp xuống bằng cách chạy lệnh, nhưng bạn có biết bạn cũng có thể tạo tập lệnh để tải tệp xuống tự động không?
1. Tạo một thư mục mới có tên ~downloader
2. Khởi chạy Mã VS, sau đó nhấp vào menu Tệp -> Mở Thư mục để mở thư mục ~downloader mà bạn đã tạo
3. Nhấp vào biểu tượng tệp mới để tạo tệp tập lệnh Python mới có tên ứng dụng. py trong thư mục dự án của bạn, như hình bên dưới
4. Bây giờ, hãy nhấp vào menu Terminal và chọn New Terminal để mở một thiết bị đầu cuối dòng lệnh mới, như hình bên dưới
Cài đặt và kích hoạt môi trường ảo
Bây giờ bạn đã có thư mục dự án và tệp tập lệnh, hãy bắt đầu tạo một môi trường ảo. Môi trường ảo là một môi trường biệt lập dành cho các dự án Python nơi các gói cần thiết cho dự án của bạn được cài đặt. Bạn sẽ kích hoạt môi trường ảo này để cho phép thực thi chương trình của mình trong tương lai
Chạy các lệnh bên dưới trên thiết bị đầu cuối Mã VS của bạn để cài đặt gói môi trường ảo và tạo môi trường ảo
wget [options] url
4Chạy một trong các lệnh bên dưới tùy thuộc vào hệ điều hành của bạn để kích hoạt môi trường ảo của bạn
wget [options] url
5Cài đặt Mô-đun wget
Bây giờ bạn đã thiết lập môi trường ảo của mình, vì vậy đã đến lúc cài đặt mô-đun
wget [options] url
9. Mô-đun wget [options] url
9 được phát triển để cung cấp API cho cộng đồng các nhà phát triển Python. Mô-đun này giúp giảm bớt các ứng dụng và triển khai lệnh wget [options] url
9 với PythonKhi xây dựng một dự án Python, bạn cần lưu trữ các gói trong một yêu cầu. tập tin txt. Tệp này sẽ giúp bạn cài đặt phiên bản tương tự của các gói được sử dụng trong tương lai
Chạy các lệnh bên dưới để cài đặt mô-đun Wget và thêm nó vào các yêu cầu. tập tin txt
wget [options] url
6Bây giờ sao chép và dán mã bên dưới vào ứng dụng. py bạn đã tạo trước đó trong Mã VS
Mã bên dưới thay đổi đầu ra của tệp tải xuống để bạn có thể xem tiến trình tải xuống của từng tệp bằng thanh tiến trình tùy chỉnh
wget [options] url
7Cuối cùng, chạy lệnh bên dưới để thực thi ứng dụng tập lệnh. tập lệnh py
wget [options] url
8Bên dưới, bạn có thể thấy tiến trình tải xuống của từng tệp theo tỷ lệ phần trăm với tổng kích thước được tải xuống hiện tại và của tệp theo byte
Phần kết luận
Xuyên suốt hướng dẫn này, bạn đã học cách tải xuống các tệp bằng lệnh Python
wget [options] url
9. Bạn cũng đã trải qua quá trình tải xuống các tệp từ việc chạy các lệnh wget [options] url
9 cơ bản đến chạy mô-đun wget [options] url
9 trong tập lệnh Python để tải xuống nhiều tệpBây giờ, bạn sẽ sử dụng Python Wget như thế nào trong dự án tiếp theo của mình để tự động tải xuống các tệp?
Ghét quảng cáo?
Khám phá sách hướng dẫn ATAThông tin khác từ ATA Learning & Partners
Tài nguyên được đề xuất
Tài nguyên được đề xuất cho đào tạo, bảo mật thông tin, tự động hóa, v.v.
Được trả tiền để viết
ATA Learning luôn tìm kiếm những người hướng dẫn ở mọi cấp độ kinh nghiệm. Bất kể bạn là quản trị viên cấp dưới hay kiến trúc sư hệ thống, bạn đều có điều gì đó để chia sẻ. Tại sao không viết trên một nền tảng có khán giả hiện có và chia sẻ kiến thức của bạn với mọi người?
Sách hướng dẫn học tập ATA
ATA Learning được biết đến với các hướng dẫn bằng văn bản chất lượng cao dưới dạng các bài đăng trên blog. Hỗ trợ Học tập ATA với sách điện tử PDF Sách hướng dẫn ATA khả dụng ngoại tuyến và không có quảng cáo