2017-12-18 7 views
0

Wenn ich https://s3.amazonaws.com/nyc-tlc/trip+data/fhv_tripdata_2015-01.csv in einen Browser setze, kann ich eine Datei problemlos herunterladen. Aber wenn ich sage,Warum kann ich mit wget nicht von S3 herunterladen?

wget.download('https://s3.amazonaws.com/nyc-tlc/trip+data/fhv_tripdata_2015-01.csv', out='data/') 

bekomme ich einen 404 Fehler. Stimmt etwas mit dem Format dieser URL nicht?

Dies ist kein Duplikat von HTTP Error 404: Not Found when using wget to download a link. wget funktioniert gut mit anderen Dateien. Dies scheint etwas Spezifisches für S3 zu sein, das unten erklärt wird.

+1

Woher wissen Sie, das Problem ist wegen der URL und nicht, sagen wir, die Header? – DeepSpace

+0

Ich würde nicht einmal wissen, wie ich das überprüfen soll. Wonach würde ich überhaupt suchen? –

+1

Sie könnten einfach das Anfragepaket verwenden. requests.get (url) sollte es tun. –

Antwort

2

Die Ursache ist ein Fehler in S3, wie hier beschrieben: https://stackoverflow.com/a/38285197/4323

Eine Abhilfe ist, anstatt die requests Bibliothek zu verwenden:

r = requests.get('https://s3.amazonaws.com/nyc-tlc/trip+data/fhv_tripdata_2015-01.csv') 

Dies funktioniert gut. Sie können r.text inspizieren oder in eine Datei schreiben. Für den effizientesten Weg, siehe https://stackoverflow.com/a/39217788/4323

Verwandte Themen