часть 1, выгружаем все фото из альбома
Этой статьей мы открываем небольшую серию материалов по VK API. Все что вам понадобится для работы – базовые знания Python.
Для работы мы будем использовать Python третьей версии и модуль VK для работы c api вконтакте. Установить модуль можно через pip:
# Windows pip3 install vk # Debian-based linux sudo pip3 install vk
На *nix системах могут возникнуть проблемы с установкой через pip, поэтому вот еще один способ установки. Скачайте исходники, положите их в удобный каталог и исполните в терминале:
python3 setup.py build sudo python3 setup.py install
Чтобы не нагружать код сторонними библиотеками, для загрузки фото будем использовать базовую urllib.
Для начала залогинимся.
# Импортируем нужные модули from urllib.request import urlretrieve import vk, os, time, math # Авторизация login = '' password = '' vk_id = 'ID_ВАШЕГО_ПРИЛОЖЕНИЯ' session = vk.AuthSession(app_id=vk_id, user_login=login, user_password=password) vkapi = vk.API(session)
Учтите, что для работы с VK API одного только модуля для питона недостаточно, нужно создать еще и приложение на самом сайте.
Для удобства, входными данными будут ссылки на альбомы. Только целиком url не подойдет, нам понадобится id хозяина альбома (группы или человека) и id самого альбома, которые и можно достать из ссылки. К примеру, в https://vk.com/album-54530371_212428070 id владельца (в данном случае сообщества) это -54530371, а id альбома – 212428070. Обратите внимание, если загружать из альбома сообщества, то «-» (дефис) перед id владельца обязателен.
url = input("Введите url альбома: ") # Разбираем ссылку album_id = url.split('/')[-1].split('_')[1] owner_id = url.split('/')[-1].split('_')[0].replace('album', '')
Как вы поняли, мы получаем на вход ссылку на альбом, затем разбираем ее и раскладываем по переменным album_id и owner_id соответствующие 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() # время старта
Проблема при загрузке большого количества фото в том, что за один запрос нельзя забрать больше 1000 фото, в то время как в альбоме их может быть десяток тысяч.
Процесс загрузки:
# Создадим каталоги 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)))
На этом все! В следующем туториале напишем небольшой скрипт для слежки за пользователем.
Како додати альбом ВК
У друштвеной картины ВКонтакте альбомы играю важные улоги, пружаюки коррисничима могуть разврставаня података у различите категории. Zatim Cemo razgovarati о svim nijansama koje morate znati za dodavanje novog albuma u bilo kojem odjeljku web-lokacije.
садржай
- Служба веб-страницы
- Опция 1: Фотоальбом
- Опция 2: Видеоальбом
- Опция 3: Глянцевый альбом
- Mobilna Aplikacija
- Opcija 1: Foto Album
- Opcija 2: Видео альбом
- opcija 3: glazbeni Album
- Pitanja I odgovori
Показать деталь: Како издать альбом у группы ВК
Опция 1: Фотоальбом
У случае сдачи нового альбома со сликама, добавте прилику да одмах наведете время и опись. Štovise, tijekom kreiranja, posebni parametri privatnosti mogu se postaviti na temelju vaših zahtjeva.
Da biste bolje razumjeli postupak stvaranja albuma i dodatno dodavanje sadržaja, pročitajte posebni članak našoj web stranici.
Выше детали: Како доставить фотографию ВК
Опция 2: Видео альбом
Приликом додавать новую оделку с видеозаписью добитье нешто человеки брой силы, ограничен самостимінане с именем и именем. Međutim, budite to kako je moguće, to je sasvim dovoljno za takvu mapu.
Kao u slučaju fotoalbuma, proces stvaranja novih albuma za video snimke pregledan je u što većem broju detalja u otherom članku.
Выше детали: Как сакрити видеозапись ВК
Опция 3: Глазбени альбом
Поступак додачи альбома с глазбом изгледа мало лакше.
- Идите на оджеляк «Глазба» и возьмите карту «Препоруке» .
- У блока «Новые альбуми» кликните по питательному веществу глазного альбумина.
- Употриебите икону знака плюс с названием «Додай у себя» .
- Альбом Че сад бити поставил у вас аудио снимке.
S lakoćom možete stvarati glazbene mape ove vrste čitajući posebne upute.
Виды также: Како создано поп-музыки для воспроизведения ВК
Мобильное приложение
Сваки Альбом ВК у мобильного приложения имейте значение как и у пуной версии веб-локации. Kao posljedica, smatramo samo proces stvaranja, uglavnom ignoriranje popunjavanja mapa s sadržajem.
Опция 1: Альбом для фотографий
U sljedećim uputama možete dodati Album ne samo u odjeljku s fotografijama na vašoj stranici, nego iu zajednici. Međutim, to će također zahtijevati dodatna prava pristupa odgovarajućim mogućnostima.
- Кроз главный Изборник Программа Отворите Оджеляк «Фотография» .
- Pri vrhu zaslona prijeđite na karticu Albumi .
- Кликните икону с три окомите точку у десном куту.
- S popisa odaberite «Изради альбом» .
- Исполните главна поля с именем и описанием, поставьте поставку приватности и поврдите израду альбума. U ove svrhe morate kliknuti ikonu kvačicom.
Название: Само поле с именем захтиева obavezno uređivanje.
На овом с фотографским альбомом можно завршити.
Опция 2: Видео альбом
Добавление новых карт для поиска большого количества различий от источника поступления в фотоальбом. Glavne nijanse ovdje su vanjske razlike potrebnih elemenata sučelja.
- На Главном Изборнике ВКонтакте идите на страницу Видео .
- Без обзора на открыту карту, кликните значок с ознакомлением плюс у горы десном куту заслона.
- На попису ставки одаберите «Створи альбом» .
- Додайте масла и по потребите поставить ограничение на содержание альбома. Nakon toga kliknite ikonu kvačicom u zaglavlju prozora.