Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 28, 2021 13:00:06

Pacifist
Зарегистрирован: 2020-01-10
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

API яндекс диска (скорость загрузки)

Пользую API яндекс диска для загрузки файла.
Код работает, но скорость загрузки 14 мб .mp3 составляет около 2 минут
Тот же файл в браузере грузится за доли сек
Это особенности api или я что-то не учел?

ps api: https://yandex.ru/dev/disk/api/concepts/troubleshooting.html

 import requests
from datetime import datetime
URL = 'https://cloud-api.yandex.net/v1/disk/resources'
TOKEN = '???'
headers = {'Content-Type': 'application/json', 'Accept': 'application/json', 'Authorization': f'OAuth {TOKEN}'}
path_p = '123'
path_f = r'C:/Users/fire-/Desktop/1/33.mp4'
def create_folder(path):
    """Создание папки. \n
    path: Путь к создаваемой папке."""
    rez_create_folder = requests.put(f'{URL}?path={path}', headers=headers)
    if rez_create_folder.status_code == 201:
        print(f'Папка {path} на Я-диске создана')
    elif rez_create_folder.status_code == 409:
        print(f'Папка {path} на Я-диске уже существует')
def upload_file(loadfile, savefile, replace=False):
    """Загрузка файла.
    savefile: Путь к файлу на Диске
    loadfile: Путь к загружаемому файлу
    replace: true or false Замена файла на Диске"""
    start = datetime.now()
    res_url = requests.get(f'{URL}/upload?path={savefile}&overwrite={replace}', headers=headers).json()
    with open(loadfile, 'rb') as f:
        try:
            res_load_file = requests.put(res_url['href'], files={'file': f})
            if res_load_file.status_code == 201:
                print(f'Загрузка файла {f.name} завершена, затрачено времени: {datetime.now() - start}')
        except KeyError:
            print(f'{res_url=}')
if __name__ == '__main__':
    name = path_f.split('/')[-1]
    create_folder(path_p)
    upload_file(path_f, f'{path_p}/{name}')

Отредактировано Pacifist (Окт. 28, 2021 13:22:51)

Офлайн

#2 Окт. 31, 2021 14:48:56

Pacifist
Зарегистрирован: 2020-01-10
Сообщения: 25
Репутация: +  0  -
Профиль   Отправить e-mail  

API яндекс диска (скорость загрузки)

все дело в расширениях:
Загрузка файла 11.txt завершена, затрачено времени: 0:00:41.881488
Загрузка файла 11.jpg завершена, затрачено времени: 0:00:41.826355
Загрузка файла 11.png завершена, затрачено времени: 0:00:51.993082
Загрузка файла 11.rar завершена, затрачено времени: 0:34:46.165469
Загрузка файла 11.zip завершена, затрачено времени: 0:34:50.776791
Загрузка файла 11 завершена, затрачено времени: 0:00:56.583622
Загрузка файла 11.html завершена, затрачено времени: 0:00:45.933040
Загрузка файла 11.bat завершена, затрачено времени: 0:00:47.237989
Загрузка файла 11.rtf завершена, затрачено времени: 0:00:56.147034
Загрузка файла 11.dat завершена, затрачено времени: 0:34:50.133080
Загрузка файла 11.exe завершена, затрачено времени: 0:04:17.051915
Загрузка файла 11.gif завершена, затрачено времени: 0:00:54.799939
Загрузка файла 11.mp3 завершена, затрачено времени: 0:00:56.603038
Загрузка файла 11.mp4 завершена, затрачено времени: 0:34:50.421615

один и тот же файл весом около 260 мб

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version