我是Python的新手,我需要从使用csv
和username
进行身份验证的网站上下载多个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)
答案 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中有一个空格,这很可能导致错误。我没有您的网址,因此无法确定。如果您具有对此文件的写权限,请尝试使用空格的“ _”代替它。