Фотографии из переписок вк

Фотографии из переписок вк

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

Clone with HTTPS

Use Git or checkout with SVN using the web URL.

Downloading

Want to be notified of new releases in dokxpi/VKIMexport ?

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio

Latest commit

Files

Permalink

Type Name Latest commit message Commit time
Failed to load latest commit information.
publish load project Apr 6, 2015
toolbox load project Apr 6, 2015
README.md status Sep 18, 2015
changes.md [v0.1.3] May 17, 2015
main.py load project Apr 6, 2015
requirements.md load project Apr 6, 2015

VKIMexport — это скрипт на Python, для скачивания фотографий из бесед или диалогов интересующего вас собеседника социальной сети vk.com

Требования: Python 3.3.6 [+]

####Текущие проблемы и статус#### 📌 Внимание: скрипт временно не работает (проблемы с авторизацией)

В первую очередь нам потребуется установить сам python и дополнительные к ему библиотеки:

запускаем командную строку (windows: открыть диалог «Выполнить» с помощью сочетания клавиш Win + R и введите cmd –> нажмите OК) и в появившемся окне консоли, выполним следующие команды

cd C:Python34Scripts и жмем клавишу ENTER / — где Python34 версию вашего интерпретатора

pip install cssselect и жмем клавишу ENTER /

Теперь мы готовы к запуску VKIMexport, но перед тем как запустить нам потребуется узнать значение переменой DIALOG_ID , для этого

перейдите по адресу https://vk.com/im

выберите интересующий вас диалог и кликнете на нем мышкой

скопируйте значения set в адресной строке вашего браузера

  • где "69828681" значение переменной DIALOG_ID

[загрузите скрипт VKIMexport] (https://github.com/dokxpi/VKIMexport/blob/master/toolbox/-%20releases/v0.1.3/main.zip?raw=true) на ваш компьютер и распакуйте его содержимое в корень диска C: (убедитесь в доступности скрипта по адресу C:main.py )

откройте файл main.py в [текстовом редакторе] (http://notepad-plus-plus.org/) и отредактируйте в нем следующие переменны

Читайте также:  Как попасть в настройки андроид

Вызвать командную строку (windows: открыть диалог «Выполнить» с помощью сочетания клавиш Win + R и введите cmd –> нажмите OК) и в появившемся окне консоли, выполнить команду

  • C:Python34python.exe C:main.py

Остались вопросы?
Создайте issue в репозиторий или свяжитесь со мной!

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

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

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

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

  • act:show
  • al:1
  • loc:im
  • w:history _photo

В этом запросе dialog_id — это значение параметра «sel» в адресной строке, когда мы заходим в диалог.
Выполнив такой запрос, мы получим в ответ что-то вроде вот этого:

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

Читайте также:  Навигация том том для россии официальный сайт

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

  • act:show
  • al:1
  • loc:im
  • w:history _photo
  • offset: offset
  • part: 1

Из всех параметров меняться будет меняться только offset. Его мы вытаскивает из того самого json’a на конце ответа. Каждый раз при выполнении запроса offset внутри json’а будет увеличиваться, показывая, какое «смещение» надо сделать в следующий раз. Таким образом, нам надо будет делать запросы до тех пор, пока у нас offset будет меньше count.

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

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

Аргументы у нас будут передаваться через терминал (remixsid, dialog_id и название папки):

Создадим отдельную папку для фотографий:

Отлично, начинаем выполнение запросов:

Теперь начинаем парсинг ответа. Извлекаем все через регулярные выражения. Сначала извлекаем json и устанавливаем следующий offset:

Теперь надо извлечь все ссылки из тегов src. Действуем тем же способом, но используем метод findall, который возвращает массив всех строк, которые совпали с регуляркой:

Читайте также:  Написать бота для telegram

Теперь запишем все в файл:

С этим все. Осталось только пройтись по файлу и скачать все по ссылкам. Это делается с помощью модуля urllib, вот так:

А для нашего случая:

Готово! Но, так как использовать это мы будем из командной строки, давайте еще напишем небольшую документацию (—help), а так же вывод об ошибке, если аргументов командной строки меньше, чем нужно. Добавим в начало:

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

Беглый поиск решения выдаёт несколько способов решения задачи. Большая часть из них не работает. Другие же по дороге нагрузят ваш компьютер адварными вирусами.

Единственным работающим вариантом оказался сайт SaveFrom.net. Но и тут не всё так просто. Если воспользоваться этим сайтом «в лоб», то вы скачаете фотографии, но по дороге наберёте всё те же адварные программы.

Как скачать фото и не нахватать вирусы?

Установите расширение для браузера

Для Яндекс.Браузера, Opera, Safari и Firefox всё довольно просто. Просто установите расширение SaveFrom для вашего браузера из магазина расширений или по прямой ссылке.

  • Яндекс и Opera здесь
  • Firefox здесь (прямая ссылка файл расширения)
  • Safari здесь (прямая ссылка файл расширения)

Для Chrome всё немного сложнее:

  • Для начала установите расширение Chameleon
  • Затем установите расширение SaveFrom для Opera. Для этого на странице расширения нажмите кнопку «Add to Chameleon».

Установка расширения для Google Chrome

  • Установка завершена

Скачиваем фотографии

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

Открываем вложения в Диалоге

После этого нажимаем на иконку расширения SaveForm, выбираем пункт «скачать фотографии» и соглашаемся на загрузку.

Все фото будут загружены в папку по умолчанию — в каталог «Диалоги».

Папка с фотографиями

Ссылка на основную публикацию
Форум лексус рх 350 2007
Как выбрать Lexus RX?Надёжная ли машина?Какой расход топлива?Какие бывают комплектации?Насколько нужны те или иные функции?На что смотреть при покупке? Информация...
Уроки нлп для начинающих
Если вы хотя бы немного интересуетесь психологией, то о нейролингвистическом программировании (НЛП), наверное, тоже слышали. В статье мы постараемся объяснить...
Уроки ворд 2010 для начинающих
Microsoft Office 2010 — бесплатные обучающие уроки для чайников с нуля. Получите необходимые навыки профессиональной работы с пакетом Microsoft Office...
Форум грибников витебской области
В Беларуси много грибов: белые грибы, подосиновики, лисички и др. #новостиlespr или #newslespr - добавляйте фото в инстаграм с таким...
Adblock detector