From 2523df5a501519b8355b76f403dc3f0b64d458f8 Mon Sep 17 00:00:00 2001 From: artem Date: Mon, 1 May 2023 11:00:21 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B2=D0=BA=20=D0=B0=D0=BF=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vk_api/photo.py | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 vk_api/photo.py diff --git a/vk_api/photo.py b/vk_api/photo.py new file mode 100644 index 0000000..73d788e --- /dev/null +++ b/vk_api/photo.py @@ -0,0 +1,38 @@ +import os +import time +import requests + +#TOKEN = "vk1.a.mf4KFdN9gC14SSGDFHVwFRTpzBKBeNxkdlEe0IFlZqU5a5rHH5PwiPn5ekWnDhc94lEI5d2vtXzfxvjXRPapsQZCCt89YUwCIQB1alo06A0Iup9PCWbd6F5GayBn0TS_26N5BTQ1B7deFzi25BV3LKimP9g5ZkeoY0xhNfQ7XawPnBhhK0a2ipL5zZxygYgf" +TOKEN = "vk1.a.m92hxDp9fUi06dr424RERKOsika5s5WTNZM64XxTZbU_feIuIRQs72UH_WpeZBr0f_av3V68MvADcNyRSwPMl015aWW0EZjc0d50b8my4_w88BELd1BVT2p9o_7W0YyedfnYGGylyQzfj0jGy2Ufuc3CGFQXJjGJrnINmMSjNps84jhMk0LDqTVFG0a6VlgJ" +VK_URL = "https://api.vk.com/method/" +headers = {"Authorization": f"Bearer {TOKEN}"} +postfix = "?v=5.131&state=123456" +group_id = 220240483 +dir ="../assets/dog" +list_labels = [fname for fname in os.listdir(dir)] + +for name in list_labels: + max_size = 0 + max_index = 0 + list_data = os.listdir(os.path.join(dir, name)) + for i, f in enumerate(list_data): + file_stats = os.stat(os.path.join(dir, name, f)) + if file_stats.st_size > max_size: + max_size = file_stats.st_size + max_index = i + image_name = list_data[max_index] + file_stats = os.stat(os.path.join(dir, name, image_name)) + r = requests.post(f"{VK_URL}photos.createAlbum{postfix}", data={"title": name, "group_id": group_id}, headers=headers) + if "error" in r.json(): + print("error", r.json()) + break + album_id = r.json().get("response").get("id") + r = requests.get(f"{VK_URL}photos.getUploadServer{postfix}&album_id={album_id}&access_token={TOKEN}&group_id={group_id}") + url = r.json().get("response").get("upload_url") + files = {'file1': open(os.path.join(dir, name, image_name),'rb')} + r = requests.post(url, files=files) + server = r.json().get("server") + photos_list = r.json().get("photos_list") + hash_data = r.json().get("hash") + r = requests.post(f"{VK_URL}photos.save{postfix}", data={"album_id": album_id, "server": server, "photos_list": photos_list, "hash": hash_data}, headers=headers) + time.sleep(1) \ No newline at end of file