@apiwi

Какой бесплатный хостинг использовать для закачки файлов? И как это сделать?

У меня есть код, он должен скачивать файл с хостинга, и распаковывать в определенную директорию. Где мне взять прямую ссылку пробовал getfile, но не у всех работает. Я в этом не особо разбираюсь, надеюсь поможете, спасибо.
Если кто может, объясните подробнее в вк: @xx69x69xx
import tempfile, os, zipfile
import requests
response = requests.get('https://dropfiles.ru/files/2828181a9b881cebd0fef825618a085a.zip')
file = tempfile.TemporaryFile()
file.write(response.content)
fzip = zipfile.ZipFile(file)
fzip.extractall('C:\\Users\\{0}\\Documents\\Rockstar Games\\GTA V\\User Music'.format(getuser()))
file.close()
fzip.close()
  • Вопрос задан
  • 376 просмотров
Решения вопроса 1
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
он должен скачивать файл с хостинга

Где мне взять прямую ссылку

Все файлохранилки разные и в большинстве своём они не хотят, чтобы их использовали для массового распространения файлов. Именно поэтому большинство из них неохотно позволяет или не позволяет вовсе формировать прямую ссылку на скачивание файлов.
Яндекс диск, дроп-бокс, гугл-драйв - все они предоставляют вам услугу "как бы" бесплатно, но как мы знаем, если что-то вам достаётся бесплатно, то товар на самом деле это вы, ваш контент, ваша статистика, ваш кошелёк и ваше внимание (реклама). Бесплатный сыр знаете где бывает.
Конечно всем этим хранилкам не интересно, чтобы через них на огромную аудиторию раздавали варез, порнуху, нелицензионный контент, запрещенный контент и прочее. А это неизбежно, если будет возможность сформировать постоянную прямую ссылку и дать её скачивать неопределенному кругу лиц без авторизации.

Хостинг - это другое. Они берут деньги за возможность опубликовать что-то в сети. Там можно получить и постоянные ссылки, и белые IP, и хорошую скорость, и приемлемые лимиты по трафику.

Программно скачать файлы с бесплатных хранилок вполне возможно, но каждая хранилка реализует всё по-своему и предоставляет свой АПИ, делает свою защиту от нештатного использования.

Первая ваша ошибка - вы напрасно обобщаете слишком разные задачи. Попробуйте искать либо бесплатную хранилку с приемлемыми лимитами и прямыми ссылками, либо сконцентрируйтесь на одной без прямых ссылок и ищите способ скачивать с неё данные программно. К примеру яндекс, как мне помнится, вроде бы реализовывал протокол web-dav. Это чем-то похоже на ftp по сути.

Вторая ваша ошибка - это не понимание как хранилка делает архивы. Архив можно положить, конечно, на хранилку как файл, но некоторые хранилки позволяют скачивать в виде архива каталог с файлами. При этом файлы хранятся по отдельности и в архив собираются только по факту вашего запроса. То есть делая http-запрос вы начинаете загружать файл, а в это время он тут же на лету формируется. Для хранилок это не очень дешевая операция в плане процессора, так что прямую постоянную ссылку на такого вида архив вы получите еще с меньшей вероятностью, чем на просто отдельный файл.

Задавайте вопросы правильно, конкретизируйте и описывайте что вам действительно надо, а не то, как вы думаете устроен этот мир.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@SODINNER
Вообще можно как раз таки request'ом открыть страницу и спарсить ссылку по кнопке скачать, тогда сайт сгенерирует ссылку, а она непостоянная, но если парсить её самостоятельно, то ты будешь получать каждый раз рабочую. Посмотри парсинг через beautifulsoup4.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы