Skip to content

A tool for exporting private messages from VK.COM social network

Notifications You must be signed in to change notification settings

php-slonik/vk-dialogue-export

 
 

Repository files navigation

In english

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

Утилита для экспорта личных сообщений из ВКонтакте

Экспортирует личные сообщения в HTML файл. Умеет скачивать:

  • Прикрепленные изображения
  • Стикеры
  • Информацию об аудиофайлах (сами файлы по умолчанию не скачиваются, но это можно включить)
  • Заголовки и сгенерированные ВК описания внешних ссылок, которые доступны в диалогах
  • Обложки видео
  • Ссылки на документы, загруженные в ВК и их названия (сами файлы по умолчанию не загружаются, но можно включить)
  • Изображения подарков, отправленных друг другу
  • Содержимое и прикрепления постов, доступных из диалога
  • Голосовые сообщения

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

Для работы скрипта требуется Python > 3.4.

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

  1. Откройте файл config.ini и введите свой логин и пароль вместо YOUR_LOGIN и YOUR_PASSWORD.

  2. Просто запустите скрипт (см. ниже), и он предложит вам ссылку, по которой нужно перейти. Скопируйте ссылку и откройте ее в браузере, либо просто нажмите Enter в консоли, чтобы открыть ее в дефолтном браузере. Откроется страница, в которой нужно дать доступ приложению. После этого вас перенаправит на пустую (почти) страницу. Скопируйте из адреса этой пустой страницы параметры access_token и user_id и вставьте их в файл config.ini вместо значений YOUR_ACCESS_TOKEN и YOUR_USER_ID. Затем уберите символы ; в начале этих строк.

Теперь можно запустить скрипт следующей командой:

python vk-dialog-export.py

Скрипт не отсылает и не хранит ваши личные данные в каких-то других местах, кроме файла config.ini и выходных файлов. Будьте осторожны, чтобы не дать доступ к персональным данным третьей стороне!

По умолчанию выходные файлы записываются в директорию ./out. Установить выходную директорию можно с помощью опции --out=/home/user/out.

По умолчанию скрипт экспортирует все доступные диалоги, но можно экспортировать и только один избранный диалог, указав следующие параметры:

--person=PERSON_ID (экспортировать диалог с этим пользователем)
--chat=CHAT_ID (экспортировать данный чат)
--group=GROUP_ID (экспортировать диалог с группой)

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

--docs (скачивать все документы)
--audio (скачивать все аудиофайлы)
--no-voice (НЕ скачивать голосовые сообщения)

Если вы хотите скачивать только документы и аудиофайлы, которые напрямую прикреплены к сообщениям (не к расшаренным постам), укажите следующие параметры:

--docs-depth=0
--audio-depth=0

Если --docs-depth=1 или --audio-depth=1, документы и аудиофайлы, прикрепленные к расшаренным постам, тоже будут скачиваться.

Внимание: многие аудиофайлы все равно не получится скачать из-за ограничений VK API.

По умолчанию диалоги экспортируются в HTML формате, но можно экспортировать в JSON:

--format=json (экспортировать в JSON)
--format=html (экспортировать в HTML, по умолчанию)

Дополнительные параметры экспорта:

--embed-resources (внедрять стили и скрипты в HTML файл, по умолчанию сохраняются в отдельных файлах)
--save-raw (дополнительно сохранять в JSON ответы VK API)
--save-json-in-html (дополнительно сохранять сообщения в JSON формате внутри HTML файлов, JSON будет записан в атрибут `data-json`)

About

A tool for exporting private messages from VK.COM social network

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 90.7%
  • CSS 9.3%