/
yozer
/
DogsApi
Обзор
Документация
Войти
/
yozer
/
DogsApi
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
main.py
61 строка
2 KB
Kit os
initial
30 май 2025, 10:49
30 май 2025, 10:49
d51c659
Код
Авторство
О чём код?
import requests from pprint import pprint from tqdm import tqdm import json from config import token class YandexDisk: def __init__(self, token): self.headers = {'Authorization': token} self.base_url = 'https://cloud-api.yandex.net' def create_folder(self, folder_name): requests.put(self.base_url + '/v1/disk/resources', headers=self.headers, params={'path': folder_name}) def upload_file(self, path, url): response = requests.post(self.base_url + '/v1/disk/resources/upload', headers=self.headers, params={'path': path, 'url': url}) MyDisk = YandexDisk(token) MyDisk.create_folder('DogsNetology') logs = list() dogs_url = 'https://dog.ceo/api/breeds/list/all' response = requests.get(dogs_url) breeds = response.json()['message'] for breed in tqdm(breeds): if len(breeds[breed]) == 0: img_urls = f'https://dog.ceo/api/breed/{breed}/images' response = requests.get(img_urls) img_url = response.json()['message'][0] img_name = f'{breed}_{img_url.split("/")[-1]}' MyDisk.create_folder(f'DogsNetology/{breed}') MyDisk.upload_file(f'DogsNetology/{breed}/{img_name}', img_url) logs.append({'file_name': img_name}) else: for sub_breed in breeds[breed]: img_urls = f'https://dog.ceo/api/breed/{breed}/{sub_breed}/images' response = requests.get(img_urls) img_url = response.json()['message'][0] img_name = f'{sub_breed}_{breed}_{img_url.split("/")[-1]}' MyDisk.create_folder(f'DogsNetology/{breed}') MyDisk.upload_file(f'DogsNetology/{breed}/{img_name}', img_url) logs.append({'file_name': img_name}) with open('logs.json', 'w') as f: json.dump(logs, f, ensure_ascii=False) print('Изображения загружены на ваш диск')