2016-04-27 12 views
0

Ich versuche, eine CSV-Datei von einer URL & herunterladen in der Datei auf meiner Festplatte speichern. Ich versuche, den folgenden Code auf Python 2.7 zu verwenden, aber Fehler zu bekommen. Die CSV befindet sich auf einer SharePoint-Website.Download einer CSV-Datei von einer URL in Python 2.7

import urllib 
import csv 

url = 'https://office.com/sites/20Reporting/Lists/Reports/476%20-%2050%20DaySDShrink%20Report/476-%2030%20DaySDShrink.csv' 
csv = urllib.urlopen(url).read() # returns type 'str' 
with open('C:\Users\Documents\DPAM.csv', 'wb') as fx: 
    fx.write(csv) 

Ich erhalte folgende Fehlermeldung.

IOError: ('http error', 401, 'Unauthorized', <httplib.HTTPMessage instance at 0x037541E8>) 
+0

Der Fehler Sie sagt, es bekommen alle. Sie sind nicht berechtigt, auf die Ressource zuzugreifen. Es hängt vom Server ab, ob es einen Berechtigungsheader akzeptiert, den Sie zusammen mit der Anfrage senden müssen. – Terry

+0

Hmmm, aber wenn ich die URL manuell eingebe, bekomme ich Zugriff auf die Datei. –

Antwort

0

so etwas wie dieses Versuchen:

import urllib2,base64 
import csv 
username ="username" 
password= "password" 
url = 'https://office.com/sites/20Reporting/Lists/Reports/476%20-%2050%20DaySDShrink%20Report/476-%2030%20DaySDShrink.csv' 
request = urllib2.Request(url) 
base64string = base64.encodestring('%s:%s' % (username, password)).replace('\n', '') 
request.add_header("Authorization", "Basic %s" % base64string) 
csv = urllib2.urlopen(request).read() 
with open('C:\Users\Documents\DPAM.csv', 'wb') as fx: 
    fx.write(csv) 

Sie können auch versuchen, communicate with sharepoint via SOAP using urllib2

Verwandte Themen