Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/graythze/vkexport
📄 All photos, wall, friends and other data from VK page in JSON file
https://github.com/graythze/vkexport
exporter parser vk vk-api vkontakte vkontakte-api
Last synced: about 2 months ago
JSON representation
📄 All photos, wall, friends and other data from VK page in JSON file
- Host: GitHub
- URL: https://github.com/graythze/vkexport
- Owner: graythze
- License: mit
- Created: 2021-03-17T17:17:26.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2023-11-28T20:02:56.000Z (about 1 year ago)
- Last Synced: 2024-10-10T18:21:59.703Z (2 months ago)
- Topics: exporter, parser, vk, vk-api, vkontakte, vkontakte-api
- Language: Python
- Homepage:
- Size: 131 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
VKExport 📄[RUS](#-что-это) // [ENG](#-what-is-it)
RUS# 📄 Что это?
VKExport позволяет экспортировать данные в файл JSON с личной страницы ВК или другого человека.
## ✅ Экспорт доступен для
* Данных профиля [users.get](https://vk.com/dev/users.get)
* Документов [docs.get](https://vk.com/dev/docs.get)
* Друзей [friends.get](https://vk.com/dev/friends.get)
* Подарков [gifts.get](https://vk.com/dev/gifts.get)
* Заметок [notes.get](https://vk.com/dev/notes.get) с комментариями [notes.getComments](https://vk.com/dev/notes.getComments)
* Фотографий [photos.get](https://vk.com/dev/photos.get) с комментариями [photos.getAllComments](https://vk.com/dev/photos.getAllComments)
* Историй [stories.get](https://vk.com/dev/stories.get)
* Видео [video.get](https://vk.com/dev/video.get) с комментариями [video.getComments](https://vk.com/dev/video.getComments)
* Подписчиков [users.getFollowers](https://vk.com/dev/users.getFollowers)
* Групп и публичных страниц [groups.get](https://vk.com/dev/groups.get)
* Маркета (магазина) [market.get](https://vk.com/dev/market.get)
* Постов на стене [wall.get](https://vk.com/dev/wall.get) с комментариями [wall.getComments](https://vk.com/dev/wall.getComments)
* Сообщений [messages.getById](https://vk.com/dev/messages.getById)## ⚙️ Использование
1) Скачайте скрипт
2) Установите пакеты, используя команду `pip install -r requirements.txt`
3) Запустите скрипт, используя команду `python collector.py VK_TOKEN durov -api 5.82 -c wall,photos,notes -sf -v `Команда `python collector.py -h` показана ниже
```
usage: collector.py [-h] [-c CUSTOM | -b | -e | -f] [-a API] [-sf] [-v]
token idusage: collector.py VK_TOKEN durov -api 5.82 -c wall,photos,notes -sf -v
positional arguments:
token VK API token
id Page ID or user domainoptions:
-h, --help show this help message and exit
-c CUSTOM, --custom CUSTOM
Parse custom methods
-b, --base Parse basic info
-e, --extra Parse basic + extra info
-f, --full Parse full info
-a API, --api API API version
-sf, --singlefile Save result in single file
-v, --verbose Increase output verbosity
```### 📍 Аргументы
`token` - Токен VK API`id` — идентификатор или домен страницы (например, `1`, `id1` или `durov`)
`-a, --apiver` — версия API VK, например `5.82`. Default: `5.82`
`-sf, --singlefile` - Сохранение результата в одном файле. По умолчанию, каждый метод сохраняется в отдельный файл
`-b, --base` — Базовый уровень парсера. Парсинг всех методов, кроме [messages.getById](https://vk.com/dev/messages.getById) и [users.getFollowers](https://vk.com/dev/users.getFollowers)
`-e, --extra ` — Средний уровень парсера. Парсинг всех методов, кроме [messages.getById](https://vk.com/dev/messages.getById)
`-f, --full` — Полный уровень парсера. Парсинг всех представленных методов
`-v, --verbose` — Показать подробности
`-c, --custom` — Выбрать собственные методы. Например, при `photos,wall` будет использован парсинг только [photos.get](https://vk.com/dev/photos.get) и [wall.get](https://vk.com/dev/wall.get)
## 🔌 Получение API токена
### ⚡ Использование готовых решений
Сервис [*vkhost.github.io*](https://vkhost.github.io/) позволяет в автоматическом режиме собрать URL и получить токен
1) Откройте [*vkhost.github.io*](https://vkhost.github.io/)
2) Выберите приложение. Например, можно выбрать Kate Mobile или VFeed
3) Нажмите на выбранное приложение
4) Нажмите на "Продолжить как" или "Разрешить"
5) Скопируйте часть URL начиная с `access_token= ` и заканчивая `&expires_in`
6) Вставьте токен в скриптТакже можно использовать другие приложения или службы для получения токена.
⚠️⚠️⚠️После использования скрипта, **в целях безпопасности КРАЙНЕ рекомендуется удалить API токен**. Это можно сделать двумя способами: [отозвать права на используемое приложения для токена](https://vk.com/settings?act=apps), либо [сменить пароль](https://id.vk.com/account/#/security)
### 💪 Собственная сборка URL
Получить ключ доступа пользователя можно одним из этих способов:- [*Implicit Flow*](https://dev.vk.com/ru/api/access-token/implicit-flow-user): для работы с API от имени пользователя в Javascript-приложениях и Standalone-клиентах (десктопных или мобильных).
- [*Authorization Code Flow*](https://dev.vk.com/ru/api/access-token/authcode-flow-user): для работы с API от имени пользователя с серверной стороны вашего сайта.
Дополнительную информацию можно найти в [*Общих сведениях*](https://dev.vk.com/ru/api/access-token/getting-started)
## ПРИМЕЧАНИЕ: Если JSON файл слишком большой, есть вероятность получить ошибку MemoryError. Чтобы исправить это, [установите x64 версию Python ](https://www.python.org/downloads/)
ENG## 📄 What is it?
VKExport allows you to export data in JSON file from personal or other VK pages## Export available for
* Profile data [users.get](https://vk.com/dev/users.get)
* Documents [docs.get](https://vk.com/dev/docs.get)
* Friends [friends.get](https://vk.com/dev/friends.get)
* Gifts [gifts.get](https://vk.com/dev/gifts.get)
* Notes [notes.get](https://vk.com/dev/notes.get) with comments [notes.getComments](https://vk.com/dev/notes.getComments)
* Photos [photos.get](https://vk.com/dev/photos.get) with comments [photos.getAllComments](https://vk.com/dev/photos.getAllComments)
* Stories [stories.get](https://vk.com/dev/stories.get)
* Videos [video.get](https://vk.com/dev/video.get) with comments [video.getComments](https://vk.com/dev/video.getComments)
* Followers [users.getFollowers](https://vk.com/dev/users.getFollowers)
* Groups, public pages [groups.get](https://vk.com/dev/groups.get)
* Market items [market.get](https://vk.com/dev/market.get)
* Wall posts [wall.get](https://vk.com/dev/wall.get) with comments [wall.getComments](https://vk.com/dev/wall.getComments)
* Messages [messages.getById](https://vk.com/dev/messages.getById)## ⚙️ Usage
1) Download script
2) Install packages using `pip install -r requirements.txt`
3) Run script using `python collector.py VK_TOKEN durov -api 5.82 -c wall,photos,notes -sf -v `The command `python collector.py -h` is shown below
```
usage: collector.py [-h] [-c CUSTOM | -b | -e | -f] [-a API] [-sf] [-v]
token idusage: collector.py VK_TOKEN durov -api 5.82 -c wall,photos,notes -sf -v
positional arguments:
token VK API token
id Page ID or user domainoptions:
-h, --help show this help message and exit
-c CUSTOM, --custom CUSTOM
Parse custom methods
-b, --base Parse basic info
-e, --extra Parse basic + extra info
-f, --full Parse full info
-a API, --api API API version
-sf, --singlefile Save result in single file
-v, --verbose Increase output verbosity
```### 📍 Arguments
`token` - VK API Token`id` - ID or Page domain (e.g. `1`, `id1` or `durov`)
`api APIVER, --apiver APIVER` - VK API Version, eg `5.82`
`-sf, --singlefile ` - Save result in single file. Each file for method by default.
`-m [{1,2,3}], --mode [{1,2,3}]` - Parser complexity. `1` parses all except messages and followers, `2` parses all except messages, `3` parses all methods
`-b, --base` — Base parser complexity, instead [messages.getById](https://vk.com/dev/messages.getById) and [users.getFollowers](https://vk.com/dev/users.getFollowers)
`-e, --extra ` — Extra parser complexity, instead [messages.getById](https://vk.com/dev/messages.getById)
`-f, --full` — Full parser complexity. Parsing all methods
`-v, --verbose` — Показать подробности
`-v, --verbose` - Increase output verbosity
`-c, --custom` - Set custom methods, e.g. `photos,wall` will parse [photos.get](https://vk.com/dev/photos.get) and [wall.get](https://vk.com/dev/wall.get)
## 🔌 Getting VK API token
### ⚡ Third party services
Service [*vkhost.github.io*](https://vkhost.github.io/) helps automatically bulid URL and get token
1) Visit [vkhost.github.io](https://vkhost.github.io/)
2) Choose app. It's better to use token from Kate Mobile or VFeed apps
3) Click on app
4) Click on "Continue as" or "Allow"
5) Copy part of URL from `access_token= `to `&expires_in`
6) Paste token to CLIYou can use other apps or services to get token.
⚠️⚠️⚠️After using the script **for security reasons, it is HIGHLY recommended to remove the API token**. It is possible to do in two ways: [*revoke app authorization which was used to obtain token*](https://vk.com/settings?act=apps), or [*change the password*](https://id.vk.com/account/#/security)
### 💪 Self-building URL
To get api token you can use one of them ways:
- [*Implicit Flow*](https://dev.vk.com/en/api/access-token/implicit-flow-user): to work with API on behalf of the user in Javascript applications and Standalone clients (desktop or mobile).
- [*Authorization Code Flow*](https://dev.vk.com/en/api/access-token/authcode-flow-user): to work with API on behalf of the user from the server side of your site.
You can find extra information at [*General information*](https://dev.vk.com/en/api/access-token/getting-started)
## NOTE: If result JSON file is too large, you can get MemoryError error. To avoid it, [install x64 Python version](https://www.python.org/downloads/)