Скрипт для поиска публичных документов пользователя в 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 не получится, поэтому один запущеный скрипт — самое быстрое решение.
Ні!