{"id":15134088,"url":"https://github.com/deserter-io/vklistr","last_synced_at":"2025-06-16T02:07:27.490Z","repository":{"id":94499683,"uuid":"43577575","full_name":"Deserter-io/vkListr","owner":"Deserter-io","description":"Скачивание списка Участников сообщества ВКонтакте","archived":false,"fork":false,"pushed_at":"2021-08-21T15:47:25.000Z","size":23,"stargazers_count":20,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-16T02:07:17.177Z","etag":null,"topics":["javascript","vk","vkapi","vkontakte","vkontakte-api","webworker"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Deserter-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2015-10-02T21:38:05.000Z","updated_at":"2025-06-06T14:41:53.000Z","dependencies_parsed_at":"2023-03-31T16:02:41.255Z","dependency_job_id":null,"html_url":"https://github.com/Deserter-io/vkListr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Deserter-io/vkListr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deserter-io%2FvkListr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deserter-io%2FvkListr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deserter-io%2FvkListr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deserter-io%2FvkListr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Deserter-io","download_url":"https://codeload.github.com/Deserter-io/vkListr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Deserter-io%2FvkListr/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260083860,"owners_count":22956408,"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","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":["javascript","vk","vkapi","vkontakte","vkontakte-api","webworker"],"created_at":"2024-09-26T05:02:27.316Z","updated_at":"2025-06-16T02:07:27.480Z","avatar_url":"https://github.com/Deserter-io.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vkListr – списки аккаунтов ВКонтакте\n\nvkListr позволяет скачать список Участников группы/сообщества/паблика ВКонтакте.\n\n## Зачем?\n\nПроект затевался как эксперимент с web worker'ом для долгоиграющей задачи. И хотелось сделать что-то OpenSource'ное. Буду рад, если к проекту присоединятся талантливые разработчики.\n\n## Ценные моменты\n\n* запросы к API ВКонтакте учитывают их ограничение «не более трёх запросов в 1 секунду»;\n* за один запрос получаем *почти* 25000 аккаунтов. Группа /live с их 3.5млн Участников скачивается за 85 секунд;\n* учитывается вероятность *изменения* списка Участников во время скачивания: пачки по 1000 аккаунтов скачиваются внахлёст и совмещаются. Это позволяет избежать ситуации, когда, напр., скачан первый миллион, и тут 2 аккаунта, покинувшие группу в этот момент (из 1-го млн.), сдвигают все последующие на 2 влево – так несколько валидных аккаунтов могут выпасть из скачивания. Ситуация часто происходит с крупными группами. #todo сделать тест на такую ситуацию.\n* код процедур на языке [VKScript](https://vk.com/dev/execute) хранится в отдельных файлах, которые удобно редактировать.\n* прогнозируется время окончания длительного скачивания на основании завершенных итераций;\n* инструмент работает целиком в браузере, на JavaScript. Однако потребуется разместить файлы на веб сервере и зарегистрировать приложение ВКонтакте, привязанное к вашему домену;\n* комментарии кода на английском языке – мне так удобнее.\n\n## Демо\n\nРабочая версия проекта: [deserter-io.github.io/vkListr](https://deserter-io.github.io/vkListr/)\n\n## Установка\n\nСкачать / клонировать репо в папку на веб сервере. Открыть папку или `index.html` на сайте в браузере. Прямо из локальной папки не заработет – попробуйте дописать протокол `http://` скриптам и стилям залинкованным из `index.html`.\n\nКроме того, понадобится создать приложение ВКонтакте типа «сайт». [Создайте собственное приложение](https://vk.com/editapp?act=create), и впишите его ID вместо предустановленного – в конце файла `index.html` см. строку `App.init({appId: 5092064 });` – вот это число и замените на ID вашего собственного приложения ВКонтакте. В настройках вашего приложения ВКонтакте, в секции Open API укажите домены, с которых ваше приложение будет работать.\n\nСобственное приложение ВК также позволит вам перенести код VKScript'ов в Хранимые процедуры в настройках вашего приложения. Слегка изменив код, вы так сможете чуть ускорить сбор данных.\n\n## Планы / TODO\n\n* улучшить интерфейс;\n* скачивать также списки Друзей и Подписчиков персон;\n* скачивать расширенную информацию об аккаунтах, помимо их id: город, пол, возраст, имя;\n* формировать пул из нескольких токенов, перелогиниваясь ВКонтакте, и сохранять его в браузере – для более быстрой работы параллельными воркерами.\n\n## Автор\n\nСергей Соколов\n\u003cbr\u003e[github](https://github.com/sergiks), [ВКонтакте](https://vk.com/serge.sokolov), hello @ sergeisokolov . com\n\u003cbr\u003eМосква, 2015.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeserter-io%2Fvklistr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdeserter-io%2Fvklistr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdeserter-io%2Fvklistr/lists"}