Tải dữ liệu với Wget và curl
Để khởi động một dự án phân tích dữ liệu, một thói quen tốt là gom tất cả dữ liệu về cùng một chỗ. Thường thì điều này có nghĩa là tải và lấy dữ liệu từ nhiều nguồn như máy chủ HTTP và cơ sở dữ liệu.
Mặc dù curl rất tiện để tải một tệp đơn lẻ, nhưng nó khá bất tiện khi xử lý việc tải nhiều tệp. Trong bài tập tổng kết này, bạn sẽ dùng cả curl và Wget để tải một loạt tệp Spotify theo tháng, thực hiện một vài bước xử lý nhỏ, và gom tất cả tệp đã tải về trong thư mục cục bộ.
Bài tập này là một phần của khóa học
Xử lý dữ liệu trên Shell
Hướng dẫn bài tập
- Tải gói nén
201812SpotifyDatađược lưu ở URL rút gọn (chuyển hướng) bằngcurl. Đồng thời, đổi tên tệp thànhSpotify201812.zipngay trong bước này. - Giải nén
Spotify201812.zip, xóa tệp nén gốc, và đổi tên tệp đã giải nén thànhSpotify201812.csvđể đồng bộ cách đặt tên. - Dùng
url_list.txtvàWgetđể tải cả 3 tệp:Spotify201809.csv,Spotify201810.csv, vàSpotify201811.csvtrong một bước, với tốc độ tải tối đa 2500KB/s.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Use curl, download and rename a single file from URL
___ ___ Spotify201812.zip ___ https://assets.datacamp.com/production/repositories/4180/datasets/eb1d6a36fa3039e4e00064797e1a1600d267b135/201812SpotifyData.zip
# Unzip, delete, then re-name to Spotify201812.csv
unzip Spotify201812.zip && rm Spotify201812.zip
mv 201812SpotifyData.csv ___.csv
# View url_list.txt to verify content
cat url_list.txt
# Use Wget, limit the download rate to 2500 KB/s, download all files in url_list.txt
wget ___=2500k -i url_list.txt
# Take a look at all files downloaded
ls