- Как удалить сообщения В Контакте? И можно ли удалить прочитанное/ отправленное сообщение?
- Подробнее о шпионаже за сообщениями ВКонтакте читайте здесь. Скачивать сомнительные программы в качестве способа, как прочитать переписку .
- Там есть получение сообщений из диалога, ну а в объекте сообщения .
- Программа для анализа и восстановления сообщений ВКонтакте.
- Необходимость авторизации вконтакте не позволяет указать URL переписки в специальных программах. Смайлы необходимы, без них теряется нить диалога. Отправить личное сообщение для DimaDimaDima.
- Подробная инструкция по правильному удалению сообщений В Контакте, так же объясняю почему нельзя пользоваться скриптами и.
Делаем дамп фотографий из диалога vk. Хабрахабр. Всем привет! Вчера мне понадобилось скачать все фотографии из диалога с одним человеком в vk. Фотографий было больше 1. Понятное дело, что ручками это все делать было бы утомительно и. Не для того программированием занимаюсь, чтобы такую грязную работу делать не автоматизированно. Поэтому было решено написать скрипт.
Там есть получение сообщений из диалога, ну а в объекте сообщения. Основные функции: - Сохранение всей переписки по диалогам - Отправка архива сообщений по email - Сохранение архива сообщений на компьютере через iTunes. Скачать / Посмотреть в App Store. Сохранение сообщений ВКонтакте - VK Export.
В качестве языка был выбран Python. Его удобно использовать для консоли, он довольно быстрый, есть модуль urllib, позволяющий «одним движением» скачивать картинки по ссылке. Но главная причина — это то, что я начал изучать его недавно. Решил дополнительно попрактиковаться. Сам скрипт получился небольшой, но было бы интересно описать процесс создания. Буду стараться писать побольше комментариев в коде, чтобы те, кто не знает python, тоже смогли понять процесс. А от знатоков очень приветствуются советы и указания.
Итак, приступим.«Вконтакте» не предоставляет API конкретно для скачивания материалов из беседы, поэтому самое долгое время заняло изучение того, как устроена система подгрузки картинок из диалога в vk. Все картинки лежат у них, понятное дело, на сервере, и доступ к ним имеет любой, у кого есть ссылка на эту картинку. Таким образом, чтобы скачать все фотографии из диалога, нам надо получить все ссылки на картинки.
Тыкаясь туда- сюда, было выяснено, что при нажатии на «Действия - > показать материалы из беседы» отправляется POST запрос на vk. Запрос содержит параметры: act: showal: 1loc: imw: history< dialog. Я был не до конца честен, говоря, что POST запрос принимает 4 параметра. Точнее, он принимает, но если его выполнить нам выдадутся только первые несколько фотографий. Так как vk. com имеет подгрузку контента по мере прокручивания страницы, то существует параметр offset, который отвечает за то, какую часть из всего множества фотографий нам подгрузить. В итоге параметры запроса выглядят вот так: act: showal: 1loc: imw: history< dialog.
Его мы вытаскивает из того самого json'a на конце ответа. Каждый раз при выполнении запроса offset внутри json'а будет увеличиваться, показывая, какое «смещение» надо сделать в следующий раз. Таким образом, нам надо будет делать запросы до тех пор, пока у нас offset будет меньше count. Кстати, а что насчет выполнения запросов?
Как нам получить доступ к своей странице? Было выяснено, что доступ к странице может получить тот, у кого есть cookie под названием remixsid. Таким образом нам надо подставить эту куку в функцию, которая выполняет запрос и все получится. Не совсем, швыряться куками — это не есть хорошо, но я не нашел другого варианта. Если кто- то знает, напишите пожалуйста. Общий алгоритм вроде понятен: сделать запрос, вытащить ссылки, записать их в файл, проверить- новый offset> count?- , если нет, то присвоить offset новое значение и выполнить запрос с ним, если да, то выйти из цикла.
Затем пройтись по всем ссылкам в файле и скачать картинки лежащие по их адресу. Начинаем писать код.# coding=utf- 8. Count изменится при первом запросе. Извлекаем все через регулярные выражения. Сначала извлекаем json и устанавливаем следующий offset: #ищем первое совпадение по регулярному выражению. У него есть метод span(), который возвращает кортеж с индексами начала и конца найденной подстроки. В принципе это написано ради .
Действуем тем же способом, но используем метод findall, который возвращает массив всех строк, которые совпали с регуляркой: links = re. Осталось только пройтись по файлу и скачать все по ссылкам. Это делается с помощью модуля urllib, вот так: urllib. А для нашего случая: test = open(! Но, так как использовать это мы будем из командной строки, давайте еще напишем небольшую документацию (- -help), а так же вывод об ошибке, если аргументов командной строки меньше, чем нужно.
Добавим в начало: if( sys. Конечно, можно еще многое добавить: проверку на выполнен запрос или нет, проверку на корректность входящих данных, автоматическое вытаскивание (например, первых 1. В итоге те самые 1. Заняло это где- то 2 минуты.
Никаких ограничений на запросы, как так понял, vk. Весь рабочий код целиком лежит на Гитхабе.