การดาวน์โหลดข้อมูลด้วย Wget และ curl
ก่อนเริ่มโปรเจกต์วิเคราะห์ข้อมูล ควรรวบรวมข้อมูลทั้งหมดไว้ในที่เดียวก่อนเสมอ ซึ่งมักหมายถึงการดาวน์โหลดข้อมูลจากแหล่งต่าง ๆ เช่น HTTP server และฐานข้อมูล
แม้ curl จะสะดวกสำหรับการดาวน์โหลดไฟล์เดียว แต่ไม่ค่อยเหมาะกับการดาวน์โหลดหลายไฟล์พร้อมกัน ในแบบฝึกหัดปิดท้ายนี้ เราจะใช้ทั้ง curl และ Wget เพื่อดาวน์โหลดไฟล์ข้อมูล Spotify รายเดือนหลายไฟล์ ประมวลผลเบื้องต้น และรวบรวมไฟล์ที่ดาวน์โหลดทั้งหมดไว้ในไดเรกทอรีของเรา
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การประมวลผลข้อมูลบน Command Line
คำแนะนำการฝึกหัด
- ดาวน์โหลดไฟล์
201812SpotifyDataแบบบีบอัดจาก URL ย่อ (ที่มีการเปลี่ยนเส้นทาง) โดยใช้curlพร้อมกันนั้นให้ตั้งชื่อไฟล์เป็นSpotify201812.zip - แตกไฟล์
Spotify201812.zipจากนั้นลบไฟล์บีบอัดต้นฉบับ และเปลี่ยนชื่อไฟล์ที่แตกออกมาเป็นSpotify201812.csvเพื่อให้สอดคล้องกัน - ใช้
url_list.txtและWgetเพื่อดาวน์โหลดไฟล์ทั้ง 3 ไฟล์ ได้แก่Spotify201809.csv,Spotify201810.csvและSpotify201811.csvในขั้นตอนเดียว โดยกำหนดความเร็วดาวน์โหลดสูงสุดที่ 2500KB/s
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# 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