Ми}{@лbI4

Блог хеллоуворлдщика

Как скачать музыку из группы или профиля ВК

28.03.2018 java, telegram, bot, vk, music, grabber, Очумелые ручки

За долгие годы, что я провел в ВК, у меня накопилась хорошие библиотека музыки, которая либо редкая, либо я уже не помню названия, чтобы её найти. Хотя я уже и не слушаю музыку в ВК (а предпочитаю Deezer), но вытащить-то свою библиотеку нужно для истории! Вместо ВК я теперь обитаю в Телеграм, поэтому было решено написать трансфер-бота музыки из ВК в Телеграм, чтобы удобно было.

Трансфер я написал на Java, его можно скачать со страницы репозитория GitHub. Для запуска нужно иметь представление о том, как этим пользоваться, либо попытаться сделать все, что я напишу ниже. Где-то на просторах Телеграм данный бот не запущен, и пользуюсь я им только в личных целях, т.к. если люди ринутся, то мне просто не хватит мощностей моего сервера, чтобы обрабатывать каждый запрос, да и не вижу смысла. Выгоды я с этого не имею никакой. Поэтому, запаситесь терпением и читайте инструкцию внутри статьи.

Данный трансфер работает через бота в Телеграме. Вы можете встроить его куда вам будет угодно, либо общаться с ним напрямую. Я лично создал канал и используя бота скачиваю музыку со стен групп ВК и аудиозаписей пользователей.

Инструкция

Инструкция преимущественно расчитанна на пользователей с Unix-подобной ОС. Если вы хотите дополнить инструкцию запуском под Windows - пишите в комментарии, я обязательно её дополню.

Перед началом всех операций нам требуется выполнить 2 важные вещи:

  1. Создать бота в Телеграме и сохранить получившиеся token и username.
  2. Посмотреть remixsid в куках браузера на сайте ВК и свой идентификатор пользователя.

По первой задаче вам поможет гугл. Админь. По второй задаче нужно открыть в любом браузере Инструменты разработчика и посмотреть куки сайта ВК, найти запись с названием remixsid и сохранить куда-нибудь значение. А идентификатор пользователя можно изъять из ссылки к личным аудиозаписям https://vk.com/audios`123456789`. Все это нам понадобится в самом конце для запуска трансфера.

Установить JRE 8 (или выше, если понимаете о чем здесь речь) для вашей ОС для запуска программ на Java:

Чтобы проверить текущую версию JRE введите в консоле: java -version. Если вы видите что-то вроде java version "1.8.бла-бла-бла", или в этой строке число больше, чем 1.8 - все в порядке, и у вас уже установлена нужная версия JRE.

На странице с релизами трансфера вам нужно найти последнюю версию (на момент написания статьи, это 1.0.2) и скачать нужный архив: tar или zip (смотря какое сжатие вы предпочитаете, после распаковки все одинаково), где имеется в названии vkmusictransfer.

Распаковать полученный архив:

  • для tar: $ tar -xvf ./vkmusictransfer-1.0.2.tar
  • для zip: $ unzip ./vkmusictransfer-1.0.2.zip

Внутри распакованного архива перейти в директорию bin и запустить приложение с теми параметрами, которые мы хранили для этого момента:

# для начала сделаем лаунчер исполняемым 
$ chmod +x
# а теперь запустим
$ ./vkmusictransfer --tgb-username=имя_бота_по_которому_можно_получить_доступ --tgb-token=тот_самый_токен_от_бота --vk-remixsid=ваш_sid_который_вы_взяли_из_кук_в_браузере --vk-uid=ваш_ид_в_вк

После этого, мы можем воспользоваться ботом в Телеграме и отправить ему 2 команды:

  • /profile ИД_ПРОФИЛЯ_ЦИФРАМИ - извлечь всю музыку из профиля пользователя;
  • /com ИД_ГРУППЫ - извлечь всю музыку из сообщества со стены.

ИД_ПРОФИЛЯ_ЦИФРАМИ можно посмотреть в адресной строке браузера. Он указан на странице с аудиозаписями, например, https://vk.com/audios123456789 - 123456789, это - то, что нам и нужно.

ИД_ГРУППЫ - идентификатор группы указан на странице с группой, например, https://vk.com/example.group - example.group, это - он.

На этом все. Надеюсь, что кому-то облегчил жизнь, хоть на чуть-чуть. =)