Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/rsherstnev/keywordsfounder

Script for finding interesting posts in VK groups
https://github.com/rsherstnev/keywordsfounder

grabber vk-api vkontakte-api

Last synced: 14 days ago
JSON representation

Script for finding interesting posts in VK groups

Awesome Lists containing this project

README

        

# keywordsfounder
Скрипт предназначен для поиска постов в группах Вконтакте, которые содержат определенные слова.

## Предупреждение
Взаимодействие с API VK осуществлялось методами пакета vk_api, вся ответственность за учетные данные за автором данного
пакета. В связи с открытостью его исходного кода, можете провести его независимый аудит.

Поиск осуществляется только по тексту обычных постов, поиск по комментариям к посту, по постам-опросникам и т.п.
не осуществляется, но возможна модификация скрипта для расширения соответствующего функционала.

## Развертывание приложения
Выполнять из терминала, запущенного из под администратора (должен быть установлен python, pip и git):
```
git clone https://github.com/rsherstnev/keywordsfounder.git
cd keywordsfounder
python -m pip install --upgrade pip
pip install vk_api
```
## Описание опций скрипта
Опция | Обязательна ли | Описание
:--------------------|:--------------:| -------
-l, --login | - | Логин учётной записи VK, из под которой будут производиться запросы к API VK
-p, --password | - | Пароль учётной записи VK, из под которой будут производиться запросы к API VK
-k, --keywords-file | + | Файл с ключевыми словами, которые будут искаться в постах групп Вконтакте
-g, --groups-file | + | Файл с именами групп Вконтакте, в которых будет осуществлен поиск ключевых слов
-w, --output-file | - | Файл, в который будут записаны адреса постов групп, содержащих хотя бы одно ключевое слово

Опции `--login` и `--password` не являются обязательными, если вы не хотите светить учетными данными в истории
командного интерпретатора, их можно выпустить, тогда скрипт запросит учетные данные интерактивно.

Значение опций `--keywords-file`, `--groups-file` и `--output-file` могут представлять как абсолютный путь к файлу, так
и относительный. Если опция `--output-file` выпущена, скрипт будет выводить адреса постов групп на стандартный вывод
процесса (STDOUT), в котором запущен скрипт.

## Файл с ключевыми словами
Ключевые слова должны быть записаны в файле каждый с новой строки, пример:
```
безопасность
защита
информация
```
При этом регистр символов не важен, так как поиск осуществляется регистронезависимо.

## Файл с именами групп Вконтакте
Имена групп Вконтакте должны быть записаны в файле каждый с новой строки, пример:
```
ck_sfu
onlyorly
ctsv_sibsu
```
При этом именем группы является все то, что написано в URL в адресной строке браузера справа от `https://vk.com/`

## P. S.
Если в группах не будет найдено ни одного поста, но опция `--output-file` была использована, файл будет создан, но
останется пустым.

## Возможные улучшения скрипта
- Возможно ускорить работу скрипта путем распараллеливания задач по нескольким потокам. Лучший вариант - по потоку на
каждую группу.

## Примеры
```
keywordsfounder.py --login +79632286969 --password yourverysecurepassword --keywords-file ./keywords.txt --groups-file ./groups.txt -w result.txt
```