Подскажите, почему не выгружаются фото из фотоальбома ВКонтакте? Токен рабочий, с правами на доступ к фото, просто я его здесь не писал. Приложение ВК создано, включено.
from urllib.request import urlretrieve
import vk, os, time, math
session = vk.Session(access_token="[u]Мой токен[/u]")
vkapi = vk.API(session)
url = input("Введите url альбома: ")
album_id = url.split('/')[-1].split('_')[1]
owner_id = url.split('/')[-1].split('_')[0].replace('album', '')
print("album id: ", album_id)
print("owner_id: ", owner_id)
photos_count = vkapi.photos.getAlbums(owner_id=owner_id, album_ids=album_id)[0]["size"]
counter = 0 # текущий счетчик
prog = 0 # процент загруженных
breaked = 0 # не загружено из-за ошибки
time_now = time.time() # время старта
# Создадим каталоги
if not os.path.exists('saved'):
os.mkdir('saved')
photo_folder = 'saved/album{0}_{1}'.format(owner_id, album_id)
if not os.path.exists(photo_folder):
os.mkdir(photo_folder)
for j in range(math.ceil(
photos_count / 1000)): # Подсчитаем сколько раз нужно получать список фото, так как число получится не целое - округляем в большую сторону
photos = vkapi.photos.get(owner_id=owner_id, album_id=album_id, count=1000, offset=j * 1000) # Получаем список фото
for photo in photos:
counter += 1
url = photo["src_big"] # Получаем адрес изображения
print('Загружаю фото № {} из {}. Прогресс: {} %'.format(counter, photos_count, prog))
prog = round(100 / photos_count * counter, 2)
try:
urlretrieve(url, photo_folder + "/" + os.path.split(url)[1]) # Загружаем и сохраняем файл
except Exception:
print('Произошла ошибка, файл пропущен.')
breaked += 1
continue
time_for_dw = time.time() - time_now
print("\nВ очереди было {} файлов. Из них удачно загружено {} файлов, {} не удалось загрузить. Затрачено времени: {} сек.". format(photos_count, photos_count-breaked, breaked, round(time_for_dw,1)))