Tải dữ liệu bằng curl

Xử lý dữ liệu trên Shell

Susan Sun

Data Person

curl là gì?

curl:

  • viết tắt của Client for URLs
  • là công cụ dòng lệnh Unix
  • truyền dữ liệu đến và từ máy chủ
  • dùng để tải dữ liệu từ các trang HTTP(S) và máy chủ FTP
Xử lý dữ liệu trên Shell

Kiểm tra cài đặt curl

Kiểm tra cài đặt curl:

man curl

Nếu curl chưa được cài, bạn sẽ thấy:

curl command not found.

Hướng dẫn đầy đủ tại https://curl.haxx.se/download.html.

Xử lý dữ liệu trên Shell

Duyệt tài liệu hướng dẫn curl

Nếu curl đã được cài, bảng điều khiển của bạn sẽ như sau:

Ảnh chụp phần đầu của hướng dẫn curl như trong cửa sổ Terminal nền tối

Xử lý dữ liệu trên Shell

Duyệt tài liệu hướng dẫn curl

Nhấn Enter để cuộn.

Ảnh chụp hướng dẫn curl đã cuộn một phần như trong cửa sổ Terminal nền tối

Nhấn q để thoát.

Xử lý dữ liệu trên Shell

Học cú pháp curl

Cú pháp cơ bản của curl:

curl [option flags] [URL]

URL là bắt buộc.

curl cũng hỗ trợ HTTP, HTTPS, FTP, và SFTP.

Xem đầy đủ các tùy chọn:

curl --help
Xử lý dữ liệu trên Shell

Tải xuống một tệp

Ví dụ:

Một tệp đơn lẻ lưu tại:

https://websitename.com/datafilename.txt

Dùng cờ tùy chọn -O để lưu tệp với tên gốc:

curl -O https://websitename.com/datafilename.txt

Để đổi tên tệp, dùng -o chữ thường + tên mới:

curl -o renameddatafilename.txt https://websitename.com/datafilename.txt
Xử lý dữ liệu trên Shell

Tải nhiều tệp bằng Globbing Parser

Tiếp tục ví dụ trước:

https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt

Dùng Globbing Parser

Lệnh sau sẽ tải lần lượt mọi tệp từ datafilename001.txt đến datafilename100.txt.

curl -O https://websitename.com/datafilename[001-100].txt
Xử lý dữ liệu trên Shell

Tải nhiều tệp bằng Globbing Parser

Tiếp tục ví dụ trước:

https://websitename.com/datafilename001.txt
https://websitename.com/datafilename002.txt
...
https://websitename.com/datafilename100.txt

Dùng Globbing Parser

Tăng dần qua các tệp và tải mỗi tệp thứ N (ví dụ: datafilename010.txt, datafilename020.txt, ... datafilename100.txt)

curl -O https://websitename.com/datafilename[001-100:10].txt
Xử lý dữ liệu trên Shell

Xử lý sự cố chủ động

curl có hai cờ tùy chọn rất hữu ích khi tải xuống bị hết thời gian chờ:

  • -L Chuyển hướng HTTP URL nếu gặp mã lỗi 300.

  • -C Tiếp tục truyền tệp trước đó nếu bị ngắt trước khi hoàn tất.

Kết hợp tất cả:

curl -L -O -C https://websitename.com/datafilename[001-100].txt
  • Mọi cờ tùy chọn đặt trước URL
  • Thứ tự cờ không quan trọng (ví dụ -L -C -O đều được)
Xử lý dữ liệu trên Shell

Chúc bạn curl vui vẻ!

Xử lý dữ liệu trên Shell

Preparing Video For Download...