[英]How to download a file using wget.download() in python and authenticating with username and password
[英]Download a file providing username and password using Python
我的名为“blueberry.jpg”的文件开始下载,当我手动单击以下网址时,前提是在询问时输入用户名和密码: http : //example.com/blueberry/download
我怎样才能使用 Python 做到这一点?
import urllib.request
url = 'http://example.com/blueberry/download'
data = urllib.request.urlopen(url).read()
fo = open('E:\\quail\\' + url.split('/')[1] + '.jpg', 'w')
print (data, file = fo)
fo.close()
但是上面的程序没有写入所需的文件,我如何提供所需的用户名和密码?
使用requests
,它为 Python 中的各种 url 库提供了一个更友好的界面:
import os
import requests
from urlparse import urlparse
username = 'foo'
password = 'sekret'
url = 'http://example.com/blueberry/download/somefile.jpg'
filename = os.path.basename(urlparse(url).path)
r = requests.get(url, auth=(username,password))
if r.status_code == 200:
with open(filename, 'wb') as out:
for bits in r.iter_content():
out.write(bits)
更新:对于 Python3 获取 urlparse: from urllib.parse import urlparse
我敢打赌您正在使用基本身份验证。 因此,请尝试执行以下操作:
import urllib.request
url = 'http://username:pwd@example.com/blueberry/download'
data = urllib.request.urlopen(url).read()
fo = open('E:\\quail\\' + url.split('/')[1] + '.jpg', 'w')
print (data, file = fo)
fo.close()
让我知道这个是否奏效。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.