Как сохранить весь альбом Вконтакте на компьютер

Дело было вечером, делать было нечего и тут мне в голову пришла мысль: «Как же мне выгрузить все фотографии из ВКонтакта на компьютер?» Недолго думая, я написал утилиту для этого и решил поделиться с общественностью, возможно я не один такой.

Поехали

В качестве инструмента для работы с API, путём кратких поисков, была выбрана библиотека vk_api. Для работы с сетью она использует Requests, поэтому и эта библиотека требуется для запуска.

Пощупать

Само приложение получилось крайне простым и небольшим, но с задачей своей справляется. Весь код уместился в одном единственном файле.

Исходный код

#!/usr/bin/env python «»» :mod:`vkporter` ~~~~~~~~~~~~~~~ A micro tool for export photo albums from `vk.com `_. It’s based on `VK_API `_ by Kirill Python , `Requests `_ and `ProgressBar `_. :copyright: (c) 2013 by Andrey Maksimov. :license: BSD, see LICENSE for more details. «»» __author__ = ‘Andrey Maksimov ‘ __date__ = ‘09.03.13’ __version__ = ‘0.1.1’ import argparse import datetime from getpass import getpass import os import time import sys try: import requests except ImportError: print(«Cannot find ‘requests’ module. Please install it and try again.») sys.exit(0) try: from vk_api import VkApi except ImportError: print(«Cannot find ‘vk_api’ module. Please install it and try again.») sys.exit(0) def connect(login, password): «»»Initialize connection with `vk.com `_ and try to authorize user with given credentials. :param login: user login e. g. email, phone number :type login: str :param password: user password :type password: str :return: :mod:`vk_api.vk_api.VkApi` connection :rtype: :mod:`VkApi` «»» return VkApi(login, password) def get_albums(connection): «»»Get albums list for currently authorized user. :param connection: :class:`vk_api.vk_api.VkApi` connection :type connection: :class:`vk_api.vk_api.VkApi` :return: list of photo albums or «None« :rtype: list «»» try: return connection.method(‘photos.getAlbums’) except Exception as e: print(e) return None def get_photos(connection, album_id): «»»Get photos list for selected album. :param connection: :class:`vk_api.vk_api.VkApi` connection :type connection: :class:`vk_api.vk_api.VkApi` :param album_id: album identifier returned by :func:`get_albums` :type album_id: int :return: list of photo albums or «None« :rtype: list «»» try: return connection.method(‘photos.get’, ) except Exception as e: print(e) return None def download(photo, output): «»»Download photo :param photo: «»» url = photo.get(‘src_xxxbig’) or photo.get(‘src_xxbig’) or photo.get(‘src_xbig’) or photo.get(‘src_big’) r = requests.get(url) title = photo[‘pid’] with open(os.path.join(output, ‘%s.jpg’ % title), ‘wb’) as f: for buf in r.iter_content(1024): if buf: f.write(buf) def sizeof_fmt(num): «»»Small function to format numbered size to human readable string :param num: bytes to format :type num: int :return: human readable size «»» for x in [‘bytes’, ‘KB’, ‘MB’, ‘GB’, ‘TB’]: if num < 1024.0: return «%3.1f %s» % (num, x) num /= 1024.0 if __name__ == ‘__main__’: parser = argparse.ArgumentParser(description=», version=’%(prog)s ‘ + __version__) parser.add_argument(‘username’, help=’vk.com username’) # parser.add_argument(‘password’, help=’vk.com username password’) parser.add_argument(‘-o’, ‘—output’, help=’output path to store photos’, default=os.path.abspath(os.path.join(os.path.dirname(__file__), ‘exported’))) args = parser.parse_args() # expand user path if necessary if args.output.startswith(‘~’): args.output = os.path.expanduser(args.output) start_time = datetime.datetime.now() try: password = getpass(«Password: «) # Initialize vk.com connection connection = connect(args.username, password) # Request list of photo albums albums = get_albums(connection) print(«Found %s album%s:» % (len(albums), ‘s’ if len(albums) >1 else »)) ix = 0 for album in albums: print(‘%3d. %-40s %4s item%s’ % ( ix + 1, album[‘title’], album[‘size’], ‘s’ if int(album[‘size’]) > 1 else »)) ix += 1 # Sleep to prevent max request count time.sleep(1) if not os.path.exists(args.output): os.makedirs(args.output) for album in albums: response = get_photos(connection, album[‘aid’]) output = os.path.join(args.output, album[‘title’]) if not os.path.exists(output): os.makedirs(output) processed = 0 for photo in response: percent = round(float(processed) / float(len(response)) * 100, 2) sys.stdout.write( «rExporting %s. %s of %s (%2d%%)» % (album[‘title’], processed, len(response), percent)) sys.stdout.flush() download(photo, output) processed += 1 except Exception as e: print(e) sys.exit(1) except KeyboardInterrupt: print(‘VKPorter exporting stopped by keyboard’) sys.exit(0) finally: print(«Done in %s» % (datetime.datetime.now() — start_time))

Еще по теме:  Что такое tab Вконтакте

Примеры

как скачать альбом с фотографиями с вконтакте

Как сохранить фотографии из ВК? — ЛЕГКО! И ПРОСТО!!!


По умолчанию экспорт происходит в папку ./exported

Путь для экспорта можно указать при запуске

image

Выглядит это примерно так:

Источник: habr.com

Как скачать сразу все фотографии из альбома в Контакте?

Многие пользователи сталкиваются с данной проблемой, что нет возможности нормально скачать весь альбом с фотографиями, ведь по одной штуке, придется очень долго проделывать этот процесс.

Но, для того, чтобы скачать весь альбом, было создано специальное дополнение, которое называется SaveFrom.net — это помощник, который устанавливается в ваш браузер, как дополнение, и при его установке,в вашем браузере появляется кнопка, которая позволяет скачивать фото и видео с Вконтакте.

И в альбоме, после установки данного приложения, появится специальная кнопка, которая называется «скачать альбом». нажимаете на нее, и альбом успешно будет скачан со всеми вашими фотографиями.

Источник: www.bolshoyvopros.ru

Как скачивать из ВКонтакте фотоальбом целиком

ВКонтакте — одна из самых популярных социальных сетей в России, насчитывающая десятки миллионов пользователей. Ресурс содержит большое количество профилей, групп и сообществ, на страницах которых ежемесячно публикуются миллионы фотографий.

Официальное приложение и веб-версия позволяют пользователям сети сохранять любые изображения, скачивая каждую фотографию или изображение отдельно. Но функционал официального сервиса несовершенен: к примеру, нет возможности сохранять целые альбомы с фотографиями, а сохранять картинки по отдельности не всегда удобно.

Данную проблему можно легко решить благодаря специальному сервису — парсеру групп и фото альбомов ВК.

Парсер картинок из ВКонтакте

парсер групп и фото альбомов ВКонтакте

Онлайн-сервис позволяет скачивать альбомы фотографий с разных сайтов, в том числе Pinterest, но наиболее популярен сервис именно благодаря возможности сохранять картинки из VK.

Еще по теме:  Что за собачка Вконтакте

Основные возможности сервиса:

  • сохранять неограниченное количество фотографий из любых открытых альбомов на странице пользователей или сообществ ВКонтакте;
  • скачивать картинки со стены личной страницы или группы (до 1000 фотографий);
  • скачивать фотографии в оригинальном размере;
  • сохранять не все картинки в альбоме/на стене, а указанное количество;
  • скачивать фотографии сразу с нескольких URL;
  • скачивать картинки из определённых постов;
  • выбирать минимальный размер сохраняемых фотографий;
  • создавать общий архив для картинок, скачанных со всех указанных адресов.

Важно отметить, что сервис не требует авторизовываться в VK или устанавливать какие-либо программы или приложения на смартфон или компьютер. Всё доступно онлайн.

Особенности Pro-аккаунта

Пользоваться сервисом можно бесплатно, но с некоторыми ограничениями, или же купить Pro-версию, которая стоит всего 139 рублей в месяц (на момент размещения публикации).

Бесплатная версия позволяет сохранять не больше 20 картинок с одного ресурса, скачивать картинки только с одного адреса за раз и проводить не более двух операций по скачиванию в день.

Возможности Pro-аккаунта более обширны: пользователи могут скачивать неограниченное количество фотографий, проводить любое количество операций за день, а также сохранять картинки одновременно с 10 адресов. Скорость работы программы при покупке Pro-аккаунта также выше.

Как скачивать картинки из VK?

Чтобы скачать альбом или картинки из альбома личной страницы ВК, необходимо указать ссылку на этот альбом в формате vk.com/ id12345 , где 12345 — цифровой ID страницы. Если фотографии нужно скачать из паблика или группы, вместо ID пишется соответственно «public» или «club». Также вместо цифрового ID можно указывать буквенный адрес страницы.

Чтобы сохранить фотографии со стены страницы, необходимо указать ссылку этой страницы.

Возможные проблемы и их решение

При скачивании альбома со страницы сообщества или личного профиля может возникнуть ошибка «Permission to perform this action is denied». Это означает, что владелец страницы ВКонтакте ограничил доступ к альбому, и скачивать фотографии из него возможно только вручную. Проблему никак не решить, пока пользователь сам не захочет открыть данный альбом для публичного доступа.

Еще по теме:  Игра тюряга на телефон как ВК

Как уже говорилось ранее, при скачивании фотографий не из альбома, а со страницы группы или профиля, сервис просматривает только 1 тыс. последних публикаций.

Если нужны более ранние фотографии, то можно выйти из ситуации. У каждой страницы есть альбом под названием «фотографии со страницы *имя пользователя*» (для личных страниц) или «фотографии со страницы сообщества» (для групп и пабликов).

Но этот способ работает не всегда, так как пользователи могут удалять или очищать эти альбомы, и тогда в них будут содержать не все фотографии.

Источник: apsolyamov.ru

Рейтинг
( Пока оценок нет )
Загрузка ...