Скачать посты вконтакте, выгрузить все записи вк. Использование api vk python: Скачивание стены Вконтакте


2. Запускаем программу, вводим логин и пароль от любого вашего аккаунта вконтакте.

3. Зашли в программу. Нажимаем Медиа и Скачать.

5. Указываем ссылку на страницу пользователя или группу или публичную страницу, альбомы с которой хотите скачать. Я для примера указал: vk.com/club717898 В нем как раз есть 14 альбомов с фотками и мы хотим все фотки со всех 14-ти альбомов скачать.

7. Наблюдаем за процессом сохранения картинок.

8. В указанной папке смотрим наши картинки. Они там сохраняются по папкам — каждая папка = один альбом. В группе было 14 альбомов — получили 14 папок с фотками.

Сохраняет быстро и бесплатно. Хотя может это демка VkBot работает потом попросит денежку, не знаю. Стоит VkBot 400 руб в мес кажись.

Фразы, по которым нас находят: ?tag=vkontakte, как сохранить фото из вк на андроид, как сохранить фото из контакта на андроид, как скачать фото с вк на андроид, как скачать картинку с вк на андроид, как скачать фото из вк на андроид, как сохранять фото с вк на андроид, как сохранять фото из вк с андроида, как сохранить картинку на андроид, как сохранять картинки с вк на андроид, как сохранить картинку с вк на андроид, как сохранить картинку из вконтакте на андроид, как скачать картинки с вк на андроид, Как сохранять картинки в вк, как сохранить картинку с контакта на андроид, как сохранить картинку на стене вк, как сохранить пост в контакте, как сохранить фото из вконтакте на андроид, как скачать все картинки со стены вконтакте, скачать фото со стены вконтакте, скачать все картинки со стены вконтакте, как сохранить фото вк андроид, как скачать альбом вконтакте на андроид, как сохранить группу вконтакте, Как скачать все картинки с группы в вк, можно ли сохранить все данные с группы ВКонтакте, накрутка сохраненных картинок в вк, как скачать все картинки с группы в контакте, как скачать все фото с паблика в вк, как скачать альбом с вк на андроид, андроид скачать альбом вк андроид, как быстро сохранить картинки в вк, не сохраняются картинки из вконтакте андроид, как сохранить сразу все фото мз гпуппы в вк

Прогрессивное человечество прекрасно осведомлено о том, что такое социальные сети. При регулярном использовании сайта «в контакте» для общения и налаживания деловых связей, рано или поздно возникает необходимость почистить стену. Стена «в контакте» имеет свойство накапливать хлам в виде ненужных сообщений, случайных записей, спама. Для оптимизации социальной сети разработаны специальные программы для чистки в контакте воспользовавшись которыми можно быстро почистить стену.

Способ очистки первый — скрипт (расширение) VkOpt 2.x

Для того, чтобы быстро почистить стену, нужно установить расширение, чтобы браузер работал. Следует перейти по ссылке http://vkopt.net/download/ - для chrome (для других браузеров смотрите на сайте разработчика ).

После установки скрипта VkOpt 2.x необходимо снова перезапустить браузер, чтобы расширение начало функционировать. Затем следует зайти на vk.com, на главную страницу. На стене появится вкладка «действия», под ней закреплены следующие команды:

  • получение ссылок на фотографии
  • очистка стены

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

Способ очистки второй — программа vkbot

Оптимизировать сайт в контакте поможет универсальная программа vkbot. Ее расширенный функционал поможет в один клик очистить стену. Для этого нужно скачать программу здесь http://vkbot.ru/ . После того как программный продукт будет установлен, нужно авторизоваться. Затем нужно совершить следующие действия:

  • выбрать раздел профиль
  • нажать кнопку чистка (удаление)
  • выбрать команду «очистить стену»

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

Я уже давно заметил, что данные в социальных сетях хранятся плохо. Например, сделанный вами репост окажется пустым, если автор оригинальной записи ее удалит. Недавние проблемы с аудиозаписями в vk стали последней каплей, и я решил сохранить локально все данные, которые могут представлять интерес на случай ядерной войны. Поискав готовые решения, я не нашел ничего, что бы устроило меня, поэтому за несколько дней был написан скрипт на Python.

Цели

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

За дело!

Процесс создания подобного приложения уже не раз описан на хабре, поэтому повторять все подробности не стану, опишу шаги работы вкратце, а еще скажу пару слов о пролемах. Чтобы статья не была перегружена исходниками, в конце будет ссылка на github.
Соображения по ходу разработки
  • Прежде всего, потребуется завести себе id приложения . Важно, чтобы тип был standalone , иначе некоторые методы vk api будут недоступны.
  • Еще нужен id пользователя, данные которого будем сохранять. Свой найти можно на странице настроек
  • Чтобы приложение работало, нужно разрешение пользователя, а точнее, access token. Прямого неинтерактивного способа получить токен нет, можно парсить страницу авторизации, но проще - попросить пользователя нажать на кнопку в браузере и скопировать url. За это отвечает функция auth():
    url = "https://oauth.vk.com/oauth/authorize?" + \ "redirect_uri=https://oauth.vk.com/blank.html&response_type=token&" + \ "client_id=%s&scope=%s&display=wap" % (args.app_id, ",".join(args.access_rights)) print("Please open this url:\n\n\t{}\n".format(url)) raw_url = raw_input("Grant access to your acc and copy resulting URL here: ") res = re.search("access_token=(+)", raw_url, re.I)
  • У запросов vk api есть ограничение: не более пяти в секунду. Если обращаться к серверу слишком часто, он ответит ошибкой. Это достаточно удобно: по коду ошибки можно понять, что скрипт работает слишком быстро, подождать какое-то время и повторить запрос.
    if result == 6: # too many requests logging.debug("Too many requests per second, sleeping..") sleep(1) continue
  • Периодически сервер vk требует решить каптчу, подозревая, что клиент - бот. В общем-то, правильно подозревает. Чтобы процесс сохранения не прерывался, приходится просить пользователя перейти по ссылке на картинку, разгадать каптчу и вбить ответ. Это вынесено в функцию с незамысловатым именем captcha():
    print("They want you to solve CAPTCHA. Please open this URL, and type here a captcha solution:") print("\n\t{}\n".format(data)) solution = raw_input("Solution = ").strip() return data, solution
  • Ссылки, дополнительную информацию вроде количества лайков и ответы сервера в JSON будем писать в файлы, на всякий случай.
  • К некоторым аудиозаписям приложен текст песни, что тоже имеет смысл сохранять.
  • Имена файлов могут быть некорректны для файловой системы, поэтому приходится избавляться от некоторых символов. Готового «правильного» решения я не нашел, поэтому пришлось изобрести мини-велосипед:
    result = unicode(re.sub("[^+=\-()$!#%&,.\w\s]", "_", name, flags=re.UNICODE).strip())
  • Еще одна проблема с именами файлов: могут совпадать, например в случае с документами. Для этого к имени файла добавим (n), где n - первое число, дающее уникальное имя файла.
    #file might exist, so add (1) or (2) etc counter = 1 if exists(fname) and isfile(fname): name, ext = splitext(fname) fname = name + " ({})".format(counter) + ext while exists(fname) and isfile(fname): counter += 1 name, ext = splitext(fname) fname = name[:-4] + " ({})".format(counter) + ext
Продолжим
Код обращения к api взят из статьи хабраюзера dzhioev , и добавлена обработка ситуаций, описанных выше. Чтобы было, что сохранять (в случае с обработкой стены), надо сначала узнать количество постов:
#determine posts count (response, json_stuff) = call_api("wall.get", [("owner_id", args.id), ("count", 1), ("offset", 0)], args) count = response
Дальше запрашиваем каждый пост по отдельности и разбираем его
for x in xrange(args.wall_start, args.wall_end): (post, json_stuff) = call_api("wall.get", [("owner_id", args.id), ("count", 1), ("offset", x)], args) process_post(("wall post", x), post, post_parser, json_stuff)
Результат запроса - это набор данных в JSON, которые разбираются в стандартные для python"а структуры с помощью json.loads() из стандартной библиотеки. В итоге, имеем хэш-массив, в котором некоторые поля (ключ-значение) несут полезную нагрузку, а остальные нас не интересуют. Чтобы руками не писать, какое поле каким методом обрабатывать, воспользуемся мощью рефлексии: будем искать метод, имя которого совпадает с интересующим ключом.
for k in raw_data.keys(): try: f = getattr(self, k) keys.append(k) funcs.append(f) except AttributeError: logging.warning("Not implemented: {}".format(k)) logging.info("Saving: {} for {}".format(", ".join(keys), raw_data["id"])) for (f, k) in zip(funcs, keys): f(k, raw_data)
Парсим
Теперь нужно разбираться с полями ответа. Интересные - это attachments, text, comments. Attachments - это список приложений к посту (аудио, картинки, документы, заметки), надо уметь скачивать каждый тип. Определяемся, каким методом обрабатывать каждый attachment, аналогичным способом: по типу аттача ищем метод с подходящим именем. Вот пример «качалки» для аудио:
def dl_audio(self, data): aid = data["aid"] owner = data["owner_id"] request = "{}_{}".format(owner, aid) (audio_data, json_stuff) = call_api("audio.getById", [("audios", request), ], self.args) try: data = audio_data name = u"{artist} - {title}.mp3".format(**data) self.save_url(data["url"], name) except IndexError: # deleted:(logging.warning("Deleted track: {}".format(str(data))) return # store lyrics if any try: lid = data["lyrics_id"] except KeyError: return (lyrics_data, json_stuff) = call_api("audio.getLyrics", [("lyrics_id", lid), ], self.args) text = lyrics_data["text"].encode("utf-8") ...
К сожалению, изъятые по просьбе правообладателей аудиозаписи больше не доступны, для них возвращается пустой ответ.

А остальное?

Методы обработки картинок, текста, заметок, закачки документов и остальное - в github . Скажу только, что все аналогично приведенным примерам. Еще скрипт имеет аргументы командной строки, их описывать в статье смысла нет. Примеры и прочие подробности - в readme .
TODO
Я не стал делать сохранение фотоальбомов, потому что у меня там ничего важного не хранится, да и код kilonet из его статьи неплохо работает. Еще не сохраняются видеозаписи и заметки, мне это показалось не сильно нужным.
На последок
Код далек от идеала и не отличается отсутствием костылей, но выполняет поставленную задачу. Надеюсь, кому-то пригодится моя поделка, для сохранения своих записей/документов/музыки, или для обучения.
UPD 18.12.2016
Юзер hiwent говорит, что с 16.12.2016 года vk закрыли возможность использовать API для работы с аудиозаписями. В связи с этим, функционал скрипта, предусмотренный для сохранения аудиозаписей, не работает. В связи с этим можно попробовать «прикинуться» родным приложением vk, апример андроид-версией, или kate mobile. Для них возможность работать с аудиозаписями никуда не пропадет, хотя может быть методы отличаются.

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

Выгрузить все записи из группы вк и сохранить посты:

Граббер на комп.

С помощью этой функции вы можете скачать и сохранить все записи со стены Вк. Грабер может копировать фото вконтакте или сразу сохранить текст и фото (ссылку в вк).
Копировать можно в специальный XML файл (привязка текст+ ссылка на картинку в ВК);
Либо можно скачать фото в папку на комп, а текст сохранить в блокнот, если вам нужна такая возможность- пишите в нашу ТП.
В Вкдоге предусмотрен отдельный парсер текста постов со стены вк на ваш компьютер.

Непростая ситуация обстоит с сохранением видео вконтакте, т.к. это весьма технически затратный процесс. Далеко не у всех юзеров выдержит компьютер и соединение с интернетом, если сохранять видео в несколько потоков или даже в 1 поток, но в фоновом режиме, т.е. чтобы вы могли заниматься чем-то еще помимо этого. Исходя из этого мы не скачивание видео на комп и не перезаливаем его в Вк, поэтому при обычном грабинге видео из источника и постинге к вам в группу Вк, в пост будет добавлено видео из источника, т.е. с его ссылкой, учтите это, пожалуйста.

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

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

Социальная сеть ВКонтакте – неисчерпаемый кладезь музыки. Здесь хранятся даже редкие музыкальные композиции, которых не найти в глобальной сети “днем с огнем”. Но вот незадача – их можно слушать, но нельзя скачивать на свой компьютер. Хотя… о чем это я? Нельзя – потому что сайт не дает пользователям такой возможности, но это другим, а не нам с вами.

Хотите знать, как скачать с ВК любую песню всего парой кликов мышью? Тогда читайте!

Семь способов бесплатно скачать музыку из VK

Веб-сервисы

Начнем с простого. Для скачивания аудиотреков с сайта ВК есть специальные веб-сервисы, которые не требуют ни регистрации, ни оплаты своих услуг: заходи и пользуйся. Таких сервисов немало, и работают они по схожему принципу. Рассмотрим пару самых популярных.

Audio-vk

Как скачать музыку из ВК с помощью Аudio-vk.ru ? Загляните – и сразу поймете. Вверху центрального поля находится поисковая строка. Введите название песни или имя исполнителя (автора) – и трек будет найден. Для сохранения кликните “Скачать”.

Download-Music-VKontakte

– чуть более “сложный” сервис, чем предыдущий. Кроме поиска по названию или исполнителю здесь присутствуют фильтры (выпадающие списки, обведенные рамкой на скриншоте):

  • “Я” – загрузить музыку с вашей страницы.
  • “Друзья” – загрузить музыку со страниц друзей.
  • “Группы” – то же, из групп.
  • “Популярное” – самые популярные композиции на сайте VK.

Второй список позволяет уточнить делали. Например, при выборе “Я” можно указать, откуда именно загружать треки – из аудиозаписей, альбомов (при выборе этой опции появится список ваших альбомов), со стены или рекомендуемое. Как пользоваться фильтрами, надеюсь, вы разберетесь без труда.

Если при открытии Download-music-vkontakte.ru вы не видите списки треков, разрешите доступ к аудиофайлам вашей страницы ВК, кликнув одноименную ссылку.

Приложения и плагины для браузеров

Плагин устанавливается на компьютер как любое приложение. Что он делает? Добавляет к каждому аудиофайлу на VK кнопку скачивания. Кнопка выглядит как стрелка, направленная вниз, и появляется при наведении курсора на трек. Рядом с ней отображаются размер, а также битрейт файла.

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

Чтобы загрузить все песни из плейлиста, щелкните по значку расширения. Выберите “Скачать аудио файлы”.

В следующем окошке нажмите “Продолжить”. Треки начнут загружаться один за другим.

Плагин работает примерно так же, как SaveFrom.net. После установки на компьютер и перезапуска браузера рядом с кнопкой Play возле каждого музыкального трека на VK появится кнопка со стрелкой вниз. Нажатие на нее запускает процесс скачивания файла.

Дополнительно кнопка “Save” (“Скачать”) появляется под аудиоплеером.

– это приложение для загрузки аудиотреков с сайта ВКонтакте и не только. Оно работает независимо от веб-обозревателя, достаточно авторизоваться на ВК в самой программе.

Через меню “ВКонтакте” вы можете выбрать списки композиций, какие хотите загрузить в VKMusic – из своего аккаунта, аккаунтов друзей или групп, популярное или рекомендуемое. Скачивать можно несколько треков одновременно, кликнув по каждой композиции в списке и нажав “Добавить в закачки”. Также программа позволяет прослушивать музыку через встроенный плеер, а еще – создавать плейлисты.

Закачка музыки с сайта ВК без программ

Скачивать музыку из ВК можно “голыми руками”. Как? Продвинутые пользователи, наверное, уже догадались. А с теми, кто не понял, я поделюсь двумя несложными способами.

Скачивание по прямой ссылке

Каждый аудиофайл имеет собственный уникальный адрес в Интернете, откуда его загружает плеер во время проигрывания. Где хранится песня, нам не показывают, но эта информация есть в коде страницы. Оттуда мы ее и возьмем. Итак…

  • Щелкнем правой кнопкой мышки по нужному аудиотреку. Выберем “Просмотреть код элемента”. Либо выделим трек и нажмем Ctrl+Shift+C.

  • Внутри одного из тегов находится тег input type , где среди прочего есть прямая ссылка на композицию. Скопируем ее. Понять, что это именно та песня, которая нужна, поможет подсветка элементов в плейлисте: при наведении курсора на будет подсвечиваться кнопка “Play”.

  • Вставим ссылку в адресную строку браузера и нажмем “Ввод”: откроется страница с аудиоплеером. Кликнем по нему правой кнопкой мышки и выберем “Сохранить видео как”. Как вариант – нажмем Ctrl+S.

Останется указать папку для сохранения – и композиция у вас “в кармане”.

Поиск аудиофайла в кэше браузера

При прослушивании музыки в Интернете браузер загружает каждую композицию в одну из своих временных папок (кэш). Это значит, нужные файлы уже находятся на вашем жестком диске, осталось только найти!

  • Браузер Opera складывает эти данные в папку %LOCALAPPDATA%\Opera Software\Opera Stable\Cache;
  • Google Chrome – в %LOCALAPPDATA%\Google\Chrome\User Data\Default\Cache;
  • Mozilla Firefox – в %LOCALAPPDATA%\Mozilla\Firefox\Profiles\Имя_профиля\Cache.

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

  • Во время проигрывания композиции на странице ВКонтакте отсортируем файлы в кэше по дате изменения. Теперь всё, что запускалось недавно, окажется наверху.

  • Посмотрим на размеры файлов. Музыкальные весят никак не меньше 2,5 mb. В моем списке сверху расположился объект весом 8 257 kb. Я не сомневаюсь, что это песня, которая играет прямо сейчас. Выделяем ее курсором мыши и нажимаем F2 – появится поле для переименования. Дописываем в нем расширение “mp3”.

  • После приписки расширения у файла появился значок музыкального плеера (в моем примере – AIMP). Щелкаем по нему, чтобы прослушать.

  • Угадали? Отлично! Осталось дать композиции правильное название и перенести в более подходящее место.

Еще раз напомню, что все рассмотренные способы сохранения музыки с сайта VK абсолютно бесплатны. И, как вы заметили, весьма просты. Пользуйтесь и наслаждайтесь!