{"id":15134115,"url":"https://github.com/graythze/vkexport","last_synced_at":"2025-10-06T14:49:37.204Z","repository":{"id":172474938,"uuid":"348792265","full_name":"graythze/VKExport","owner":"graythze","description":"📄 All photos, wall, friends and other data from VK page in JSON file","archived":false,"fork":false,"pushed_at":"2025-09-08T09:52:02.000Z","size":95,"stargazers_count":4,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-08T11:37:53.789Z","etag":null,"topics":["exporter","parser","vk","vk-api","vkontakte","vkontakte-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/graythze.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-03-17T17:17:26.000Z","updated_at":"2025-09-08T09:52:06.000Z","dependencies_parsed_at":"2024-10-31T13:21:30.651Z","dependency_job_id":"6b6543ea-58e9-4fe1-bbbd-13569af657bf","html_url":"https://github.com/graythze/VKExport","commit_stats":{"total_commits":63,"total_committers":1,"mean_commits":63.0,"dds":0.0,"last_synced_commit":"c420b78ed8bcdd540ccd512b6a847e6e7e165621"},"previous_names":["graythze/vkexport"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/graythze/VKExport","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graythze%2FVKExport","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graythze%2FVKExport/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graythze%2FVKExport/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graythze%2FVKExport/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/graythze","download_url":"https://codeload.github.com/graythze/VKExport/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graythze%2FVKExport/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278629029,"owners_count":26018480,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-06T02:00:05.630Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exporter","parser","vk","vk-api","vkontakte","vkontakte-api"],"created_at":"2024-09-26T05:02:53.006Z","updated_at":"2025-10-06T14:49:37.169Z","avatar_url":"https://github.com/graythze.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\r\n  VKExport 📄\r\n\r\n  [RUS](#-что-это) // [ENG](#-what-is-it)\r\n\u003c/h1\u003e\r\n\r\n\u003ch1 align=\"center\"\u003e\r\n  \u003ca href=\"#rus\"\u003e\u003cb\u003eRUS\u003c/b\u003e\u003c/a\u003e\r\n\u003c/h1\u003e\r\n\r\n# 📄 Что это?\r\n\r\nVKExport позволяет экспортировать данные в файл JSON с личной страницы ВК или другого человека.\r\n\r\n## ✅ Экспорт доступен для\r\n* Данных профиля \u003ckbd\u003e[users.get](https://vk.com/dev/users.get)\u003c/kbd\u003e\r\n* Документов \u003ckbd\u003e[docs.get](https://vk.com/dev/docs.get)\u003c/kbd\u003e\r\n* Друзей \u003ckbd\u003e[friends.get](https://vk.com/dev/friends.get)\u003c/kbd\u003e\r\n* Подарков \u003ckbd\u003e[gifts.get](https://vk.com/dev/gifts.get)\u003c/kbd\u003e\r\n* Заметок \u003ckbd\u003e[notes.get](https://vk.com/dev/notes.get)\u003c/kbd\u003e с комментариями \u003ckbd\u003e[notes.getComments](https://vk.com/dev/notes.getComments)\u003c/kbd\u003e\r\n* Фотографий \u003ckbd\u003e[photos.get](https://vk.com/dev/photos.get)\u003c/kbd\u003e с комментариями \u003ckbd\u003e[photos.getAllComments](https://vk.com/dev/photos.getAllComments)\u003c/kbd\u003e\r\n* Историй \u003ckbd\u003e[stories.get](https://vk.com/dev/stories.get)\u003c/kbd\u003e\r\n* Видео \u003ckbd\u003e[video.get](https://vk.com/dev/video.get)\u003c/kbd\u003e с комментариями \u003ckbd\u003e[video.getComments](https://vk.com/dev/video.getComments)\u003c/kbd\u003e\r\n* Подписчиков \u003ckbd\u003e[users.getFollowers](https://vk.com/dev/users.getFollowers)\u003c/kbd\u003e\r\n* Групп и публичных страниц \u003ckbd\u003e[groups.get](https://vk.com/dev/groups.get)\u003c/kbd\u003e\r\n* Маркета (магазина) \u003ckbd\u003e[market.get](https://vk.com/dev/market.get)\u003c/kbd\u003e\r\n* Постов на стене \u003ckbd\u003e[wall.get](https://vk.com/dev/wall.get)\u003c/kbd\u003e с комментариями \u003ckbd\u003e[wall.getComments](https://vk.com/dev/wall.getComments)\u003c/kbd\u003e\r\n* Сообщений \u003ckbd\u003e[messages.getById](https://vk.com/dev/messages.getById)\u003c/kbd\u003e\r\n\r\n## ⚙️ Использование\r\n1) Скачайте скрипт\r\n2) Установите пакеты, используя команду `pip install -r requirements.txt`\r\n3) Запустите скрипт, используя команду `python collector.py VK_TOKEN durov -api 5.82 -c wall,photos,notes -sf -v `\r\n\r\nКоманда `python collector.py -h` показана ниже\r\n\r\n```\r\nusage: collector.py [-h] [-c CUSTOM | -b | -e | -f] [-a API] [-sf] [-v]\r\n                    token id\r\n\r\nusage: collector.py VK_TOKEN durov -api 5.82 -c wall,photos,notes -sf -v       \r\n\r\npositional arguments:\r\n  token                 VK API token\r\n  id                    Page ID or user domain\r\n\r\noptions:\r\n  -h, --help            show this help message and exit\r\n  -c CUSTOM, --custom CUSTOM\r\n                        Parse custom methods\r\n  -b, --base            Parse basic info\r\n  -e, --extra           Parse basic + extra info\r\n  -f, --full            Parse full info\r\n  -a API, --api API     API version\r\n  -sf, --singlefile     Save result in single file\r\n  -v, --verbose         Increase output verbosity\r\n```\r\n\r\n### 📍 Аргументы\r\n`token` - Токен VK API\r\n\r\n`id` — идентификатор или домен страницы (например, `1`, `id1` или `durov`)\r\n\r\n`-a, --apiver` — версия API VK, например `5.82`. Default: `5.82`\r\n\r\n`-sf, --singlefile` - Сохранение результата в одном файле. По умолчанию, каждый метод сохраняется в отдельный файл\r\n\r\n`-b, --base` — Базовый уровень парсера. Парсинг всех методов, кроме \u003ckbd\u003e[messages.getById](https://vk.com/dev/messages.getById)\u003c/kbd\u003e и \u003ckbd\u003e[users.getFollowers](https://vk.com/dev/users.getFollowers)\u003c/kbd\u003e\r\n\r\n`-e, --extra ` — Средний уровень парсера. Парсинг всех методов, кроме \u003ckbd\u003e[messages.getById](https://vk.com/dev/messages.getById)\u003c/kbd\u003e \r\n\r\n`-f, --full` — Полный уровень парсера. Парсинг всех представленных методов\r\n\r\n`-v, --verbose` — Показать подробности\r\n\r\n`-c, --custom` — Выбрать собственные методы. Например, при `photos,wall` будет использован парсинг только \u003ckbd\u003e[photos.get](https://vk.com/dev/photos.get)\u003c/kbd\u003e и \u003ckbd\u003e[wall.get](https://vk.com/dev/wall.get)\u003c/kbd\u003e\r\n\r\n## 🔌 Получение API токена\r\n\r\n### ⚡ Использование готовых решений\r\nСервис [*vkhost.github.io*](https://vkhost.github.io/) позволяет в автоматическом режиме собрать URL и получить токен\r\n1) Откройте [*vkhost.github.io*](https://vkhost.github.io/)\r\n2) Выберите приложение. Например, можно выбрать Kate Mobile или VFeed \r\n3) Нажмите на выбранное приложение\r\n4) Нажмите на  \"Продолжить как\" или \"Разрешить\"\r\n5) Скопируйте часть URL начиная с `access_token= ` и заканчивая `\u0026expires_in`\r\n6) Вставьте токен в скрипт\r\n\r\nТакже можно использовать другие приложения или службы для получения токена.\r\n\r\n\u003ch3 align=\"center\"\u003e\r\n  \u003cb\u003e⚠️⚠️⚠️\u003c/b\u003e\r\n\u003c/h3\u003e\r\n\r\nПосле использования скрипта, **в целях безпопасности КРАЙНЕ рекомендуется удалить API токен**. Это можно сделать двумя способами: [отозвать права на используемое приложения для токена](https://vk.com/settings?act=apps), либо [сменить пароль](https://id.vk.com/account/#/security)\r\n\r\n### 💪 Собственная сборка URL\r\nПолучить ключ доступа пользователя можно одним из этих способов:\r\n\r\n- [*Implicit Flow*](https://dev.vk.com/ru/api/access-token/implicit-flow-user): для работы с API от имени пользователя в Javascript-приложениях и Standalone-клиентах (десктопных или мобильных).\r\n\r\n- [*Authorization Code Flow*](https://dev.vk.com/ru/api/access-token/authcode-flow-user): для работы с API от имени пользователя с серверной стороны вашего сайта.\r\n\r\nДополнительную информацию можно найти в [*Общих сведениях*](https://dev.vk.com/ru/api/access-token/getting-started)\r\n\r\n## ПРИМЕЧАНИЕ: Если JSON файл слишком большой, есть вероятность получить ошибку MemoryError. Чтобы исправить это, [установите x64 версию Python ](https://www.python.org/downloads/)\r\n\r\n\u003ch1 align=\"center\"\u003e\r\n  \u003ca href=\"#eng\"\u003e\u003cb\u003eENG\u003c/b\u003e\u003c/a\u003e\r\n\u003c/h1\u003e\r\n\r\n## 📄 What is it?\r\nVKExport allows you to export data in JSON file from personal or other VK pages\r\n\r\n## Export available for\r\n* Profile data \u003ckbd\u003e[users.get](https://vk.com/dev/users.get)\u003c/kbd\u003e\r\n* Documents \u003ckbd\u003e[docs.get](https://vk.com/dev/docs.get)\u003c/kbd\u003e\r\n* Friends \u003ckbd\u003e[friends.get](https://vk.com/dev/friends.get)\u003c/kbd\u003e\r\n* Gifts \u003ckbd\u003e[gifts.get](https://vk.com/dev/gifts.get)\u003c/kbd\u003e\r\n* Notes \u003ckbd\u003e[notes.get](https://vk.com/dev/notes.get)\u003c/kbd\u003e with comments \u003ckbd\u003e[notes.getComments](https://vk.com/dev/notes.getComments)\u003c/kbd\u003e\r\n* Photos \u003ckbd\u003e[photos.get](https://vk.com/dev/photos.get)\u003c/kbd\u003e with comments \u003ckbd\u003e[photos.getAllComments](https://vk.com/dev/photos.getAllComments)\u003c/kbd\u003e\r\n* Stories \u003ckbd\u003e[stories.get](https://vk.com/dev/stories.get)\u003c/kbd\u003e\r\n* Videos \u003ckbd\u003e[video.get](https://vk.com/dev/video.get)\u003c/kbd\u003e with comments \u003ckbd\u003e[video.getComments](https://vk.com/dev/video.getComments)\u003c/kbd\u003e\r\n* Followers \u003ckbd\u003e[users.getFollowers](https://vk.com/dev/users.getFollowers)\u003c/kbd\u003e\r\n* Groups, public pages \u003ckbd\u003e[groups.get](https://vk.com/dev/groups.get)\u003c/kbd\u003e\r\n* Market items \u003ckbd\u003e[market.get](https://vk.com/dev/market.get)\u003c/kbd\u003e\r\n* Wall posts \u003ckbd\u003e[wall.get](https://vk.com/dev/wall.get)\u003c/kbd\u003e with comments \u003ckbd\u003e[wall.getComments](https://vk.com/dev/wall.getComments)\u003c/kbd\u003e\r\n* Messages \u003ckbd\u003e[messages.getById](https://vk.com/dev/messages.getById)\u003c/kbd\u003e\r\n\r\n\r\n## ⚙️ Usage\r\n1) Download script\r\n2) Install packages using `pip install -r requirements.txt`\r\n3) Run script using `python collector.py VK_TOKEN durov -api 5.82 -c wall,photos,notes -sf -v `\r\n\r\nThe command `python collector.py -h` is shown below\r\n```\r\nusage: collector.py [-h] [-c CUSTOM | -b | -e | -f] [-a API] [-sf] [-v]\r\n                    token id\r\n\r\nusage: collector.py VK_TOKEN durov -api 5.82 -c wall,photos,notes -sf -v       \r\n\r\npositional arguments:\r\n  token                 VK API token\r\n  id                    Page ID or user domain\r\n\r\noptions:\r\n  -h, --help            show this help message and exit\r\n  -c CUSTOM, --custom CUSTOM\r\n                        Parse custom methods\r\n  -b, --base            Parse basic info\r\n  -e, --extra           Parse basic + extra info\r\n  -f, --full            Parse full info\r\n  -a API, --api API     API version\r\n  -sf, --singlefile     Save result in single file\r\n  -v, --verbose         Increase output verbosity\r\n```\r\n\r\n### 📍 Arguments\r\n`token` - VK API Token\r\n\r\n`id` - ID or Page domain (e.g. `1`, `id1` or `durov`)\r\n\r\n`api APIVER, --apiver APIVER` - VK API Version, eg `5.82`\r\n\r\n`-sf, --singlefile ` - Save result in single file. Each file for method by default.\r\n\r\n`-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\r\n\r\n`-b, --base` — Base parser complexity, instead \u003ckbd\u003e[messages.getById](https://vk.com/dev/messages.getById)\u003c/kbd\u003e and \u003ckbd\u003e[users.getFollowers](https://vk.com/dev/users.getFollowers)\u003c/kbd\u003e\r\n\r\n`-e, --extra ` —  Extra parser complexity, instead \u003ckbd\u003e[messages.getById](https://vk.com/dev/messages.getById)\u003c/kbd\u003e \r\n\r\n`-f, --full` — Full parser complexity. Parsing all methods\r\n\r\n`-v, --verbose` — Показать подробности\r\n\r\n`-v, --verbose` - Increase output verbosity\r\n\r\n`-c, --custom` - Set custom methods, e.g. `photos,wall` will parse \u003ckbd\u003e[photos.get](https://vk.com/dev/photos.get)\u003c/kbd\u003e and \u003ckbd\u003e[wall.get](https://vk.com/dev/wall.get)\u003c/kbd\u003e\r\n\r\n## 🔌 Getting VK API token\r\n\r\n### ⚡ Third party services\r\nService [*vkhost.github.io*](https://vkhost.github.io/) helps automatically bulid URL and get token\r\n1) Visit [vkhost.github.io](https://vkhost.github.io/)\r\n2) Choose app. It's better to use token from Kate Mobile or VFeed apps \r\n3) Click on app \r\n4) Click on \"Continue as\" or \"Allow\"\r\n5) Copy part of URL from `access_token= `to `\u0026expires_in`\r\n6) Paste token to CLI\r\n\r\nYou can use other apps or services to get token.\r\n\r\n\u003ch3 align=\"center\"\u003e\r\n  \u003cb\u003e⚠️⚠️⚠️\u003c/b\u003e\r\n\u003c/h3\u003e\r\n\r\nAfter 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)\r\n\r\n### 💪 Self-building URL\r\n\r\nTo get api token you can use one of them ways:\r\n\r\n- [*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).\r\n\r\n- [*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.\r\n\r\nYou can find extra information at [*General information*](https://dev.vk.com/en/api/access-token/getting-started)\r\n\r\n## 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/)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraythze%2Fvkexport","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgraythze%2Fvkexport","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraythze%2Fvkexport/lists"}