Дополнительно
Скачивание основного файла по HTTP и сохранение на диск в Python?
Я'м новичок в Python и я'вэ шел через Q&a на этой странице, для ответа на мой вопрос. Однако, я'м Новичок и мне трудно понять некоторые решения. Мне нужно очень простое решение.
Кто-нибудь может объяснить простое решение 'скачиваете файл через HTTP' и 'сохранив его на диск, в Windows', ко мне?
Я'м не уверен, как использовать shutil и модулей операционной системы, либо.
Файл я хочу скачать до 500 МБ и является .архиве файл GZ.Если кто-то может объяснить, как распаковать архив и использовать файлы в ней тоже, это было бы здорово!
Здесь'с частичным решением, что я написал из различных ответов в сочетании:
import requests
import os
import shutil
global dump
def download_file():
global dump
url = "http://randomsite.com/file.gz"
file = requests.get(url, stream=True)
dump = file.raw
def save_file():
global dump
location = os.path.abspath("D:\folder\file.gz")
with open("file.gz", 'wb') as location:
shutil.copyfileobj(dump, location)
del dump
Может кто-то указать на ошибки (начальный уровень) и объяснить любые простые методы для этого?
Спасибо!
140
8
Чисто для того, чтобы скачать файл:
Загрузить файл с веб-сайта, и называет его
file.gz
. Это одно из моих любимых решений, от https://stackoverflow.com/questions/3042757/downloading-a-picture-via-urllib-and-python.Этот пример использует urllib библиотека, и он будет напрямую получать виде файла источник.
Как сказано здесь:
Редактировать: если вы все еще хотите использовать запросы, взгляните на этот вопрос или этот.
Я использую девятое.
Простая и хорошая библиотека, Если вы хотите пример?
поддержка модуль wget для Python 2 и Python 3 версии
Четыре метода, с помощью wget, urllib и запрос.
testRequest - функция 4469882 звонки (4469842 примитивных вызовов) в 20.236 секунд
testRequest2 - функция 8580 звонки (8574 примитивных вызовов) в 0.072 секунд
testUrllib - 3810 вызовы функций (3775 примитивных вызовов) в 0.036 секунд
testwget - функция 3489 звонки в 0.020 секунд
Для Питон3+
URLopener
является устаревшим. И при использовании вы получите ошибку, как показано ниже:Итак, попробуем:
Экзотические Решения Windows
Я начал спускаться по этому пути, потому что в ESXi'ы wget-это не скомпилирован с поддержкой SSL и я хотел скачать ОВА от поставщика'ы прямо на хост ESXi, который находится на другой стороне мира.
Мне пришлось отключить брандмауэр(ленивый)/включить https путем редактирования правил(Правильное)
создал скрипт на Python:
Библиотеки в ESXi вроде в паре, но с открытым исходным кодом установщика ласка, казалось, использовать urllib для HTTPS... так что это вдохновило меня пойти по этому пути
Другой путь для сохранения файла это: