Chạy wget trong python

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úc

Hã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. 6

Trướ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ạn

1. 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ệnh

3. 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ưới

wget --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

Xác nhận xem Wget đã được cài đặt thành công chưa

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 web

wget [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ổ sung

Chạ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ệc

wget //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 xuống một tệp duy nhất vào thư mục làm việc

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ống

wget ‐‐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

Xác nhận tệp được tải xuống 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ác

Bê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
1

wget -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ũ

Xem tệp đã tải xuống với tên tùy chỉnh

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ỉ định

Lệ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\Downloads

wget ‐‐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

Đang tải xuống một tệp phiên bản mới hơn

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 web

Dướ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 tệp từ một trang web được bảo vệ bằng mật khẩu

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ển

wget -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

Xem tệp đã tải xuống và tệp nhật ký

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 [
    wget ‐‐timestamp ‐‐directory-prefix=C:\Temp\Downloads //eternallybored.org/misc/wget/1.21.1/64/wget.exe
    9] trang web [
    wget --user=myusername --ask-password=mypassword //downloads.mongodb.com/compass/mongodb-compass-1.28.1-win32-x64.zip
    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ống
  • Bây giờ thêm tùy chọn
    wget --user=myusername --ask-password=mypassword //downloads.mongodb.com/compass/mongodb-compass-1.28.1-win32-x64.zip
    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]
  • Đảm bảo bạn chỉ tải xuống trang web cụ thể bằng cách thêm tùy chọn
    wget --user=myusername --ask-password=mypassword //downloads.mongodb.com/compass/mongodb-compass-1.28.1-win32-x64.zip
    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ần

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

Tải xuống toàn bộ trang web

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

Xem tệp trang web đã tải xuống

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
7mbps

wget [options] url
0

Tả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

Thêm các URL tải xuống khác nhau vào một tệp văn bản

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
1

Bê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

Tải xuống các tệp khác nhau từ các URL trong tệp văn bản

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

Hiển thị tải xuống tệp không thành công / bị gián đoạn

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ạn

wget [options] url
2

Bạ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

Tiếp tục tải xuống tệp bị lỗi / bị gián đoạn

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ạn

Thê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ệnh

wget [options] url
3

Bê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

Làm gián đoạn quá trình tải xuống

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ự động thử tải lại tệp xuống

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

Mở thư mục trong Mã VS

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

Tạo tệp tập lệnh Python

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

Chạy một thiết bị đầu cuối mớ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
4

Chạ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
5

Cà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 Python

Khi 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
6

Bâ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
7

Cuố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
8

Bê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

Tải xuống tệp bằng cách chạy ứng dụng. tập lệnh py

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ệp

Bâ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 ATA

Thô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

Chủ Đề