Как сохранить все материалы из беседы вконтакте. Как сохранить диалог вконтакте

Для начала понадобится OpenOffice Calc, Excel или любые электронные таблицы. Открываем в браузере ваш диалог Вконтакте. Пролистываем его весь до начала. Нажимаем комбинацию клавиш Ctrl+A (выделить всё), а потом Сtrl+C (скопировать всё). Этот момент как раз виден на скриншоте выше. Не пугайтесь, что копируем всю страницу - мусор уберём легко.

Внимание! Если диалог достаточно большой, то вставлять лучше сначала в Блокнот. Потом копируем содержимое Блокнота в электронную таблицу. Если копировать большой диалог сразу в Excel, то тот зависнет очень надолго, если не на совсем.

Запускаем OpenOffice Calc или Excel. Вставляем скопированный диалог с мусором в электронную таблицу. Ниже виден этот процесс.

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

Вот что получилось у меня.

Уже неплохо. Ничего лишнего. Теперь можно сохранить в любом формате.

Почему делать лучше в таблице, а не в Word или OpenOffice Writer? Потому, что форматирование в таблице не ползёт. Если вы сохраните (через копирование и вставку в блокнот) потом этот диалог как простой текстовый файл, то форматирование останется в виде удобного для чтения диалога.

Вот, что получилось на выходе.

Таким образом можно не только сохранять переписку Вконтакте, но и записи из других сайтов и сервисов.

Удачи, а я пошёл писать пост про самый экономный шоппинг.

Сохраните на память, делитесь с друзьями и оставляйте комментарии.

(4 оценок, среднее: 5,00 из 5) Загрузка...

Http://lassimarket.ru/2014/08/kak-soxranit-dialog-vkontakte/http://lassimarket.ru/wp-content/uploads/2014/08/kak-sohranit-dialog-vkontakte2.jpghttp://lassimarket.ru/wp-content/uploads/2014/08/kak-sohranit-dialog-vkontakte2.jpg2017-05-14T23:46:04+00:00Антон ТретьякИнтернетДорогие друзья! Сегодняшний пост хочу посвятить такой теме, как сохранение переписки из социальной сети Вконтакте. Понадобилось мне тут несколько диалогов сохранить, а встроенного сервиса у Контакта нет. Есть приложения типа VkOpt для сохранения историй переписки, но мы попробуем иначе, без использования сторонних приложений и сервисов, которым нужно ещё пароль от...Антон ТретьякАнтон Третьяк - обзоры, инструкции, лайфхаки

lassimarket.ru

Как Вконтакте сохранить историю сообщений: инструкция

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

Способы скопировать переписку

Если ваш диалог с пользователем состоит из десятка сообщений, которые вы хотите сохранить к себе на ПК, то заморачиваться не стоит. Выделите все при помощи мыши, нажмите сочетание клавиш Ctrl+C. Затем откройте блокнот или документ Word и нажмите Ctrl+V. Текст появится в документе.

Также вместо Word можно использовать OpenOffice Calc или Excel. Дело в том, что после копирования и вставки сохранится не только диалог с пользователем, но и ненужная информация. Избавиться от мусора проще в таблице, нежели в текстовом документе. Но форматирование для чтения диалога более удобное именно в текстовом файле типа блокнота.

Но если нужно скачать историю сообщений со всеми пользователями, то копированием вручную тут не справиться. На помощь придет приложение VkOpt.

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

Благодаря этому приложению можно управлять своими сообщениями. В программе существуют два списка сообщений:

Эти функции можно отключать или включать.

Кроме этих функций есть возможность посмотреть историю и скачать ее. Кнопка сохранения находится в самой истории переписки.

socya.ru

скопировать переписку из контакта

?

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

useful-faq.livejournal.com

Как сохранить диалог Вконтакте


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

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

vkhow.ru

Как сохранить важную переписку ВКонтакте (инструкция)

Переписываясь с друзьями и коллегами во ВКонтакте у многих возникает необходимость сохранить какие-то данные переписки (текстовые либо фото), что называется «на виду», дабы не искать их потом среди тысяч строк.

К счастью, такая возможность имеется!

Необходимо лишь выделить нужное сообщение, нажать на кнопку «Переслать» и отправить прикрепленную информацию самому себе!

Нужно лишь в строке поиска собеседников указать собственное имя и кликнуть по нему мышкой, а на следующем шаге осуществить отправку.

Благодаря данному трюку важная информация всегда окажется на виду! Найти ее можно будет зайдя в «Сообщения» и выбрав в диалогах самого себя.Пользуйтесь!

Вконтакте

Одноклассники

2014-11-24 2017-02-21 | DjDiplomat | нет комментариев | вк

Всем привет!

Вчера мне понадобилось скачать все фотографии из диалога с одним человеком в vk.com. Фотографий было больше 1000 штук. Понятное дело, что ручками это все делать было бы утомительно и… Стыдно. Не для того программированием занимаюсь, чтобы такую грязную работу делать не автоматизированно. Поэтому было решено написать скрипт.

В качестве языка был выбран Python. Его удобно использовать для консоли, он довольно быстрый, есть модуль urllib, позволяющий «одним движением» скачивать картинки по ссылке. Но главная причина - это то, что я начал изучать его недавно. Решил дополнительно попрактиковаться.

Сам скрипт получился небольшой, но было бы интересно описать процесс создания. Буду стараться писать побольше комментариев в коде, чтобы те, кто не знает python, тоже смогли понять процесс. А от знатоков очень приветствуются советы и указания. Итак, приступим.

«Вконтакте» не предоставляет API конкретно для скачивания материалов из беседы, поэтому самое долгое время заняло изучение того, как устроена система подгрузки картинок из диалога в vk.com. Все картинки лежат у них, понятное дело, на сервере, и доступ к ним имеет любой, у кого есть ссылка на эту картинку. Таким образом, чтобы скачать все фотографии из диалога, нам надо получить все ссылки на картинки. Тыкаясь туда-сюда, было выяснено, что при нажатии на «Действия -> показать материалы из беседы» отправляется POST запрос на vk.com/wkview.php . Запрос содержит параметры:

  • act:show
  • loc:im
  • w:history_photo
В этом запросе dialog_id - это значение параметра «sel» в адресной строке, когда мы заходим в диалог.
Выполнив такой запрос, мы получим в ответ что-то вроде вот этого:

16515wkview.js,wkview.css,page.js,page.css,page_help.css065900

Фотографии в переписке с ЮЗЕР_НЭЙМ
... (и еще много ссылок с картинками)
Список пуст.
{"count":"23318","offset":3330,"type":"history","commonClass":"wk_history_content wk_history_photo_content","wkRaw":"history_photo","canEdit":false,"lang":}WkView.historyInit();
Здесь я заменил ссылки на <некая ссылка>, так как уже говорил, что картинки vk лежат в открытом доступе и получить их может любой, кто знает ссылку.

Из всего этого нам интересны только ссылки, которые находятся внутри , а так же json на конце. Я был не до конца честен, говоря, что POST запрос принимает 4 параметра. Точнее, он принимает, но если его выполнить нам выдадутся только первые несколько фотографий. Так как vk.com имеет подгрузку контента по мере прокручивания страницы, то существует параметр offset, который отвечает за то, какую часть из всего множества фотографий нам подгрузить. В итоге параметры запроса выглядят вот так:

  • act:show
  • loc:im
  • w:history_photo
  • offset: offset
  • part: 1
Из всех параметров меняться будет меняться только offset. Его мы вытаскивает из того самого json"a на конце ответа. Каждый раз при выполнении запроса offset внутри json"а будет увеличиваться, показывая, какое «смещение» надо сделать в следующий раз. Таким образом, нам надо будет делать запросы до тех пор, пока у нас offset будет меньше count.

Кстати, а что насчет выполнения запросов? Как нам получить доступ к своей странице? Было выяснено, что доступ к странице может получить тот, у кого есть cookie под названием remixsid. Таким образом нам надо подставить эту куку в функцию, которая выполняет запрос и все получится. Безопасно? Не совсем, швыряться куками - это не есть хорошо, но я не нашел другого варианта. Если кто-то знает, напишите пожалуйста.

Общий алгоритм вроде понятен: сделать запрос, вытащить ссылки, записать их в файл, проверить-
новый offset>count?-, если нет, то присвоить offset новое значение и выполнить запрос с ним, если да, то выйти из цикла. Затем пройтись по всем ссылкам в файле и скачать картинки лежащие по их адресу. Начинаем писать код.

# coding=utf-8 import requests # для выполнения запросов import re # для парсинга по регулярным выражениям import sys # для обработки аргументов командной строки import os # для создания папок с фотографиями import urllib # для скачивания картинок import json # для обработки json # argv = remixsid_cookie # argv = dialog_id # argv = person_name
Аргументы у нас будут передаваться через терминал (remixsid, dialog_id и название папки):

Remixsid_cookie = sys.argv # Словарь запроса RequestData = { "act": "show", "al": 1, "loc":"im", "w": "history" + sys.argv + "_photo", "offset" : 0, "part" : 1 } request_href = "http://vk.com/wkview.php" # Установим первоначальные offset и count. Count изменится при первом запросе bound = {"count" : 10000, "offset" : 0}
Создадим отдельную папку для фотографий:

Try: os.mkdir("drop_" + sys.argv) # Пытаемся создать папку except OSError: print "Проблемы с созданием папки "drop_" + sys.argv + """ if(os.path.exists("drop_" + sys.argv)): os.chdir("drop_" + sys.argv) # Переходим в эту папку else: print "Не удалось создать папку\n" exit()
Отлично, начинаем выполнение запросов:

Test = open("links", "w") while(bound["offset"] < bound["count"]): RequestData["offset"] = bound["offset"] content = requests.post(request_href, cookies={"remixsid": remixsid_cookie}, params=RequestData).text # Этой командой мы выполняем post запрос с параметрами params и передавая куки. .text возвращает ответ запроса в виде текста. Все просто.
Теперь начинаем парсинг ответа. Извлекаем все через регулярные выражения. Сначала извлекаем json и устанавливаем следующий offset:

#ищем первое совпадение по регулярному выражению json_data_offset = re.compile("\{"count":.+?,"offset":.+?\}").search(content) # .search возвращает специальный объект. У него есть метод span(), который возвращает кортеж с индексами начала и конца найденной подстроки bound = json.loads(content) # декодируем json bound["count"] = int(bound["count"]) #count отдается в виде строки bound["offset"] = int(bound["offset"]) # на случай, если в будущем тоже будет отдаваться в виде строки. В принципе это написано ради "на всякий случай"
Теперь надо извлечь все ссылки из тегов src. Действуем тем же способом, но используем метод findall, который возвращает массив всех строк, которые совпали с регуляркой:

Links = re.compile("src="http://.+?"").findall(content)
Теперь запишем все в файл:

For st in links: test.write(st + "\n") # пишем то, что внутри src="..." test.close()
С этим все. Осталось только пройтись по файлу и скачать все по ссылкам. Это делается с помощью модуля urllib, вот так:

Test = open("links", "r") file_num = 0 for href in test: # берем строку из файла которая является ссылкой, и так до конца файла urllib.urlretrieve(href, str(file_num)) # в качестве имени файла просто используем его порядковый номер file_num += 1 print "Скачано " + str(file_num) + " файлов\n" test.close()
Готово! Но, так как использовать это мы будем из командной строки, давайте еще напишем небольшую документацию (--help), а так же вывод об ошибке, если аргументов командной строки меньше, чем нужно. Добавим в начало:

If(sys.argv == "--help"): print """ Usage: python main.py is a string parameter "sel" in address line which you see when open a dialog """ exit() else: if(len(sys.argv) < 4): print """ Invalid number of arguments. Use parameter --help to know more """ exit()
Вот и все, вроде. Конечно, можно еще многое добавить: проверку на выполнен запрос или нет, проверку на корректность входящих данных, автоматическое вытаскивание (например, первых 10), но мне просто хотелось описать основные моменты. В итоге те самые 1000 фотографий, которые мне были нужны, были скачаны. Заняло это где-то 2 минуты. Никаких ограничений на запросы, как так понял, vk.com не ставит, хотя могу предположить, что на такой маленький для него трафик он даже не реагирует.

Весь рабочий код целиком лежит на

Всем привет!

Вчера мне понадобилось скачать все фотографии из диалога с одним человеком в vk.com. Фотографий было больше 1000 штук. Понятное дело, что ручками это все делать было бы утомительно и… Стыдно. Не для того программированием занимаюсь, чтобы такую грязную работу делать не автоматизированно. Поэтому было решено написать скрипт.

В качестве языка был выбран Python. Его удобно использовать для консоли, он довольно быстрый, есть модуль urllib, позволяющий «одним движением» скачивать картинки по ссылке. Но главная причина - это то, что я начал изучать его недавно. Решил дополнительно попрактиковаться.

Сам скрипт получился небольшой, но было бы интересно описать процесс создания. Буду стараться писать побольше комментариев в коде, чтобы те, кто не знает python, тоже смогли понять процесс. А от знатоков очень приветствуются советы и указания. Итак, приступим.

«Вконтакте» не предоставляет API конкретно для скачивания материалов из беседы, поэтому самое долгое время заняло изучение того, как устроена система подгрузки картинок из диалога в vk.com. Все картинки лежат у них, понятное дело, на сервере, и доступ к ним имеет любой, у кого есть ссылка на эту картинку. Таким образом, чтобы скачать все фотографии из диалога, нам надо получить все ссылки на картинки. Тыкаясь туда-сюда, было выяснено, что при нажатии на «Действия -> показать материалы из беседы» отправляется POST запрос на vk.com/wkview.php . Запрос содержит параметры:

  • act:show
  • loc:im
  • w:history_photo
В этом запросе dialog_id - это значение параметра «sel» в адресной строке, когда мы заходим в диалог.
Выполнив такой запрос, мы получим в ответ что-то вроде вот этого:

16515wkview.js,wkview.css,page.js,page.css,page_help.css065900

Фотографии в переписке с ЮЗЕР_НЭЙМ
... (и еще много ссылок с картинками)
Список пуст.
{"count":"23318","offset":3330,"type":"history","commonClass":"wk_history_content wk_history_photo_content","wkRaw":"history_photo","canEdit":false,"lang":}WkView.historyInit();
Здесь я заменил ссылки на <некая ссылка>, так как уже говорил, что картинки vk лежат в открытом доступе и получить их может любой, кто знает ссылку.

Из всего этого нам интересны только ссылки, которые находятся внутри , а так же json на конце. Я был не до конца честен, говоря, что POST запрос принимает 4 параметра. Точнее, он принимает, но если его выполнить нам выдадутся только первые несколько фотографий. Так как vk.com имеет подгрузку контента по мере прокручивания страницы, то существует параметр offset, который отвечает за то, какую часть из всего множества фотографий нам подгрузить. В итоге параметры запроса выглядят вот так:

  • act:show
  • loc:im
  • w:history_photo
  • offset: offset
  • part: 1
Из всех параметров меняться будет меняться только offset. Его мы вытаскивает из того самого json"a на конце ответа. Каждый раз при выполнении запроса offset внутри json"а будет увеличиваться, показывая, какое «смещение» надо сделать в следующий раз. Таким образом, нам надо будет делать запросы до тех пор, пока у нас offset будет меньше count.

Кстати, а что насчет выполнения запросов? Как нам получить доступ к своей странице? Было выяснено, что доступ к странице может получить тот, у кого есть cookie под названием remixsid. Таким образом нам надо подставить эту куку в функцию, которая выполняет запрос и все получится. Безопасно? Не совсем, швыряться куками - это не есть хорошо, но я не нашел другого варианта. Если кто-то знает, напишите пожалуйста.

Общий алгоритм вроде понятен: сделать запрос, вытащить ссылки, записать их в файл, проверить-
новый offset>count?-, если нет, то присвоить offset новое значение и выполнить запрос с ним, если да, то выйти из цикла. Затем пройтись по всем ссылкам в файле и скачать картинки лежащие по их адресу. Начинаем писать код.

# coding=utf-8 import requests # для выполнения запросов import re # для парсинга по регулярным выражениям import sys # для обработки аргументов командной строки import os # для создания папок с фотографиями import urllib # для скачивания картинок import json # для обработки json # argv = remixsid_cookie # argv = dialog_id # argv = person_name
Аргументы у нас будут передаваться через терминал (remixsid, dialog_id и название папки):

Remixsid_cookie = sys.argv # Словарь запроса RequestData = { "act": "show", "al": 1, "loc":"im", "w": "history" + sys.argv + "_photo", "offset" : 0, "part" : 1 } request_href = "http://vk.com/wkview.php" # Установим первоначальные offset и count. Count изменится при первом запросе bound = {"count" : 10000, "offset" : 0}
Создадим отдельную папку для фотографий:

Try: os.mkdir("drop_" + sys.argv) # Пытаемся создать папку except OSError: print "Проблемы с созданием папки "drop_" + sys.argv + """ if(os.path.exists("drop_" + sys.argv)): os.chdir("drop_" + sys.argv) # Переходим в эту папку else: print "Не удалось создать папку\n" exit()
Отлично, начинаем выполнение запросов:

Test = open("links", "w") while(bound["offset"] < bound["count"]): RequestData["offset"] = bound["offset"] content = requests.post(request_href, cookies={"remixsid": remixsid_cookie}, params=RequestData).text # Этой командой мы выполняем post запрос с параметрами params и передавая куки. .text возвращает ответ запроса в виде текста. Все просто.
Теперь начинаем парсинг ответа. Извлекаем все через регулярные выражения. Сначала извлекаем json и устанавливаем следующий offset:

#ищем первое совпадение по регулярному выражению json_data_offset = re.compile("\{"count":.+?,"offset":.+?\}").search(content) # .search возвращает специальный объект. У него есть метод span(), который возвращает кортеж с индексами начала и конца найденной подстроки bound = json.loads(content) # декодируем json bound["count"] = int(bound["count"]) #count отдается в виде строки bound["offset"] = int(bound["offset"]) # на случай, если в будущем тоже будет отдаваться в виде строки. В принципе это написано ради "на всякий случай"
Теперь надо извлечь все ссылки из тегов src. Действуем тем же способом, но используем метод findall, который возвращает массив всех строк, которые совпали с регуляркой:

Links = re.compile("src="http://.+?"").findall(content)
Теперь запишем все в файл:

For st in links: test.write(st + "\n") # пишем то, что внутри src="..." test.close()
С этим все. Осталось только пройтись по файлу и скачать все по ссылкам. Это делается с помощью модуля urllib, вот так:

Test = open("links", "r") file_num = 0 for href in test: # берем строку из файла которая является ссылкой, и так до конца файла urllib.urlretrieve(href, str(file_num)) # в качестве имени файла просто используем его порядковый номер file_num += 1 print "Скачано " + str(file_num) + " файлов\n" test.close()
Готово! Но, так как использовать это мы будем из командной строки, давайте еще напишем небольшую документацию (--help), а так же вывод об ошибке, если аргументов командной строки меньше, чем нужно. Добавим в начало:

If(sys.argv == "--help"): print """ Usage: python main.py is a string parameter "sel" in address line which you see when open a dialog """ exit() else: if(len(sys.argv) < 4): print """ Invalid number of arguments. Use parameter --help to know more """ exit()
Вот и все, вроде. Конечно, можно еще многое добавить: проверку на выполнен запрос или нет, проверку на корректность входящих данных, автоматическое вытаскивание (например, первых 10), но мне просто хотелось описать основные моменты. В итоге те самые 1000 фотографий, которые мне были нужны, были скачаны. Заняло это где-то 2 минуты. Никаких ограничений на запросы, как так понял, vk.com не ставит, хотя могу предположить, что на такой маленький для него трафик он даже не реагирует.

Весь рабочий код целиком лежит на

Как сохранить диалог Вконтакте без приложений

Для начала понадобится OpenOffice Calc, Excel или любые электронные таблицы. Открываем в браузере ваш диалог Вконтакте. Пролистываем его весь до начала. Нажимаем комбинацию клавиш Ctrl+A (выделить всё), а потом Сtrl+C (скопировать всё). Этот момент как раз виден на скриншоте выше. Не пугайтесь, что копируем всю страницу - мусор уберём легко.

Внимание! Если диалог достаточно большой, то вставлять лучше сначала в Блокнот. Потом копируем содержимое Блокнота в электронную таблицу. Если копировать большой диалог сразу в Excel, то тот зависнет очень надолго, если не на совсем.

Запускаем OpenOffice Calc или Excel. Вставляем скопированный диалог с мусором в электронную таблицу. Ниже виден этот процесс.

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

Вот что получилось у меня.

Уже неплохо. Ничего лишнего. Теперь можно сохранить в любом формате.

Почему делать лучше в таблице, а не в Word или OpenOffice Writer? Потому, что форматирование в таблице не ползёт. Если вы сохраните (через копирование и вставку в блокнот) потом этот диалог как простой текстовый файл, то форматирование останется в виде удобного для чтения диалога.

Вот, что получилось на выходе.

Таким образом можно не только сохранять переписку Вконтакте, но и записи из других сайтов и сервисов.

Удачи, а я пошёл писать пост про самый экономный шоппинг.

UPD 23.02.18 На сегодняшний день такой способ работает плохо. То ли разметка изменилась, то ли браузер не так отображает. Для того, чтобы быстро скачать диалог, можно воспользоваться расширением для браузера Хром — .

Сохранение переписки ВКонтакте с расширением VkOpt

Настройки будут доступны по адресу — . Удаляется расширение там же.

Открываем вкладку Вконтакте и заходим в аккаунт. Сразу увидим окно настройки скрипта.

В дальнейшем настройки можно изменить в выпадающем меню настроек.

Вам будет предложено два варианта формата выходного файла:

  • Как web-страницу
  • Как текстовый документ

Web-страница будет выглядеть так как выглядит диалог Вконтакте, с аватарками. В общем, выбирайте сами.

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

UPD 19.11.2018: Из сети ВКонтакте можно легко сохранить диалоги и не только штатным способом — .


(12 оценок, среднее: 4,58 из 5)
Антон Третьяк Антон Третьяк [email protected] Administrator сайт - обзоры, инструкции, лайфхаки