Daten mit Wget und curl herunterladen
Um ein Data-Analysis-Projekt zu starten, ist es gute Praxis, zuerst alle Daten an einem Ort zu bündeln. Oft bedeutet das, Daten von verschiedenen Quellen wie HTTP-Servern und Datenbanken herunterzuladen und zusammenzuführen.
Während curl praktisch ist, um eine einzelne Datei herunterzuladen, ist es für mehrere Dateien etwas unhandlich. In dieser abschließenden Übung nutzen wir sowohl curl als auch Wget, um eine Reihe monatlicher Spotify-Dateien herunterzuladen, kleinere Verarbeitungsschritte durchzuführen und alle heruntergeladenen Dateien in unserem lokalen Verzeichnis zu konsolidieren.
Diese Übung ist Teil des Kurses
<Kurs>Datenverarbeitung in der Shell</Kurs>Übungsanweisungen
- Lade die gezippte
201812SpotifyData-Datei über die verkürzte (umgeleitete) URL mitcurlherunter. Benenne die Datei im selben Schritt inSpotify201812.zipum. - Entzippe
Spotify201812.zip, lösche die ursprüngliche ZIP-Datei und benenne die entpackte Datei inSpotify201812.csvum, um konsistent zu bleiben. - Verwende
url_list.txtundWget, um alle 3 Dateien in einem Schritt herunterzuladen:Spotify201809.csv,Spotify201810.csvundSpotify201811.csv, mit einer maximalen Download-Geschwindigkeit von 2500 KB/s.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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