使用python从网站下载文件

时间:2019-02-20 03:09:29

标签: python python-requests shutil urllib3

我是Python的新手,我需要从使用csvusername进行身份验证的网站上下载多个password文件。

我编写了以下代码来下载单个文件,但不幸的是,下载文件中的内容与原始文件中的内容不同。

请让我知道我在这里做错了什么以及如何实现这一目标。

import requests
import shutil
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
url="https:xxxxxxxxxxxxxxxxxxxx.aspx/20-02-2019 124316CampaignExport.csv" 
r = requests.get(url, auth=('username', 'Password'), 
verify=False,stream=True)
r.raw.decode_content = True
with open("D:/20-02-2019 124316CampaignExport.csv", 'wb') as f:
    shutil.copyfileobj(r.raw, f) 

1 个答案:

答案 0 :(得分:2)

以下代码对我有用(仅缩进最后一行):

import requests
import shutil
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
url="linkToDownload" 
r = requests.get(url, auth=('username', 'Password'), 
verify=False,stream=True)
r.raw.decode_content = True
with open("filename", 'wb') as f:
    shutil.copyfileobj(r.raw, f) 

这意味着问题出在您的URL或身份验证,而不是python代码本身。

您的URL中有一个空格,这很可能导致错误。我没有您的网址,因此无法确定。如果您具有对此文件的写权限,请尝试使用空格的“ _”代替它。