Skip to content

Скрипт для поиска публичных документов пользователя в VK. Вроде бы больше не работает

Notifications You must be signed in to change notification settings

Radiokot/vkdocs-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 

Repository files navigation

vkdocs.py

Скрипт для поиска публичных документов пользователя в VK.

Сделан 100 лет назад для Двача.

Вроде бы больше не работает.

В чем суть?

Любой документ в VK имеет адрес /docIDпользователя_IDдокумента. Для выбранного ID пользователя скрипт перебирает все возможные ID документов и показывает доступные.

Какие документы находятся?

Только публичные, от новых к старым. Фотки, гифки и архивы из ЛС - нет. VK возвращает данные только тех документов, для которых указан тип "Учебный", "Книга" или "Другой документ". Огорчает, но, например, если через поиск на сайте ты находил у кого-то годные публичные документы, то имеет смысл прогнать страницу этого человека данным скриптом, чтобы найти остальные.

Что от меня нужно?

vkdocs.py с точки зрения VK - standalone приложение, как, например, любой мобильный клиент. Из-за этого требуется авторизация. Помимо этого не лишним будет стабильное соединение и терпение, ведь перебрать 9-значный диапазон ID — задача небыстрая (за секунду обрабатывается ~1.3k документов).

Как заюзать?

Есть два стула:

  • использовать .py скрипт при наличии установленного Python 3.
  • использовать скомпилированный .exe файл из Релизов. Питон уже внутри, поэтому его установка не нужна.

В любом случае для начала потребуется авторизация. После разрешения приложению доступа к аккаунту вас перекинет на страницу, которая покажет ваш ключ доступа — access token. Его нужно скопировать и вставить в файл token.txt рядом со скриптом. Все. Он не портится, если все скопировано правильно, то возвращаться к авторизации больше не придется. Но будьте осторожны, не спалите его на скринах!

.py скрипт можно запустить с помощью start_vkdocs.bat или прямо из IDLE.

exe'шник запускается как обычно или так же через start_vkdocs.bat. Он может не работать, если в пути к файлу есть русские буквы.

После запуска нужно ввести ID интересующего пользователя. Формат любой: '123' или 'id123' или 'anon_228' — схавает. При желании можно указать ID документа, с которого начинать поиск. Если не вводить ничего, будет использован приблизительный (ооочень) ID самого последнего документа в VK. Теперь можно оставить его работать в фоне, пусть себе ищет. Ссылки на найденные документы будут сохраняться в файл /out/docsXXX.txt

А ты не угонишь мою страницу?

Нет. Получить доступ к странице можно только зная access token, полученный в ходе авторизации, и только с теми правами, которые запросило приложение. Access token, с которым запускается скрипт, не уходит никуда кроме как на vk.com. Убедиться в этом можно открыв .py файл блокнотом. Да и если бы уходил, получить логин и пароль из него невозможно а владелец страницы всегда может аннулировать доступ по нему нажав кнопку "Завершить все сеансы" где-то в настройках VK. Если интересно — почитайте про OAuth 2.0. А если очень страшно за логин/пароль, можно накинуть на себя простыню.

Сказал, что не угонишь, а зачем запрашивается доступ в любое время?

Имеется в виду что полученный при этом access token будет иметь неограниченный срок действия и не нужно было через время авторизовываться заново.

Почему нельзя запустить несколько копий для ускорения поиска?

У VK ограничение на количество запросов в секунду для одного пользователя (не токена, что важно). Больше 3-5 не получится, поэтому один запущеный скрипт — самое быстрое решение.

🇺🇦 Работает ли при заблокированном VK?

Ні!


Uvozhenie

radiokot.com.ua

About

Скрипт для поиска публичных документов пользователя в VK. Вроде бы больше не работает

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages