Skip to content
Скрипт для поиска публичных документов пользователя в VK
Python
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Auth.url
README.md Update README.md Mar 1, 2020
vkdocs.py Remove changelog in file Mar 1, 2020

README.md

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

You can’t perform that action at this time.