【问题标题】:Downloading a CSV file from a URL in using Python 2.7使用 Python 2.7 从 URL 下载 CSV 文件
【发布时间】:2016-04-27 11:05:48
【问题描述】:

我正在尝试从 URL 下载 CSV 文件并将其保存到我硬盘上的文件中。我正在尝试在 Python 2.7 上使用以下代码,但出现错误。 CSV 位于 SharePoint 网站上。

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)

我收到以下错误消息。

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

【问题讨论】:

  • 你得到的错误说明了一切。您无权访问该资源。它是否接受任何授权标头取决于服务器,您必须将其与请求一起发送。
  • 嗯,但是如果我手动输入 URL,我可以访问下载文件。

标签: python-2.7 csv url


【解决方案1】:

试试这样的:

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)

你也可以试试communicate with sharepoint via SOAP using urllib2

【讨论】:

    猜你喜欢
    • 2020-11-24
    • 2020-05-25
    • 2012-11-12
    • 1970-01-01
    • 2017-01-23
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多