Просто убедитесь, что при запросе файла код состояния HTTP равен 200, и запишите файл в двоичном режиме:
import os
import requests
URL = "http://www.blog.pythonlibrary.org/wp-content/uploads/2012/06/wxDbViewer.zip"
filename = os.path.basename(URL)
response = requests.get(URL, stream=True)
if response.status_code == 200:
with open(filename, 'wb') as out:
out.write(response.content)
else:
print('Request failed: %d' % response.status_code)
Загруженный файл появится в каталоге, в котором выполняется скрипт, если запрос был успешным, или указывает, что файл не может быть загружен.