Цей проєкт призначений для стягування та оброблення даних про кандидатів на місцевих виборах 2020-ого року з сайту ЦВК.
├───CVK_scraper <- директорія з усіма модулями програми
│ aggregate.py <- модуль для агрегації даних даних про кандидатів
│ merge.py <- модуль для зведення даних про висунутих та обраних кандидатів
│ scrape.py <- модуль для стягування даних з сайту ЦВК
│ __init__.py
│
├───data <- директорія з усіма отриманими даними
│ 01_01_all_candidates.csv <- дані про висунутих кандидатів
│ 01_02_elected_candidates.csv <- дані про обраних кандидатів
│ 02_01_merged_candidates.csv <- зведені дані про висунутих та обраних кандидатів
│ 03_01_aggregated_data.csv <- дані про висунутих і обраних кандидатів по партіям, регіонам та радам
│
│ .gitignore <- файл, який повідомляє Git, які файли або папки ігнорувати в проекті
│ config.py <- файл для налаштування шляхів файлів, і регіонів та типів рад для опрацювання програмою
│ README.md <- огляд репозиторію
│ requirements.txt <- список зовнішніх залежностей проєкту
│ scraper.py <- файл для запуску опрацювання даних
│
-
Для роботи з проєктом потрібно мати встановлений Python 3.
Щоб перевірити версію, виконайте в терміналі наступну команду:
python --version
-
Клонуйте репозиторій зручним вам способом (наприклад, через веб або десктоп версію Github)
Для клонування репозиторію через термінал, виконайте наступну команду:
git clone https://github.com/ActiveConclusion/CVK_data_scraper
-
Потрібно мати встановлений pip (стандартний менеджер пакетів для Python).
Щоб перевірити, чи це встановлено, виконайте наступну команду:
pip --version
-
(рекомендований крок) Для уникнення конфліктів зовнішніх залежностей, використовуйте віртуальне середовище.
4.1. Встановлення virtualenv (якщо не встановлено):
pip install virtualenv
4.2. Створіть віртуальне середовище для проекту (запустіть у корені цього репозиторію):
virtualenv venv
4.3. Активуйте віртуальне середовище:
source venv/bin/activate
-
Встановіть усі залежності проєкту:
pip install -r requirements.txt
Перед початком роботи, у файлі config.py можна налаштувати наступні параметри:
- Шляхи файлів для запису з обробленими даними.
- Регіони, які потрібно взяти для опрацювання.
- Типи рад, які потрібно взяти для опрацювання.
Робота з проєктом здійснюється через примітивний інтерфейс командного рядка. Нижче на прикладах будуть показано усі можливості роботи.
# запустити стягування всіх даних, провести зведення та агрегацію даних
python scraper.py run-all
# стягнути дані про висунутих кандидатів
python scraper.py scrape all
# стягнути дані про обраних кандидатів
python scraper.py scrape elected
# стягнути дані про висунутих і обраних кандидатів
python scraper.py scrape
# звести дані про висунутих та обраних кандидатів (потрібні стягнуті дані)
python scraper.py merge
# провести агрегацію даних по партіям, регіонам та радам по кількості висунутих та обраних кандидатів
python scraper.py aggregate
Щоб бачити деталі виконання програми, потрібно додати в кінці команди опцію --verbose
.
Сайт ЦВК: https://www.cvk.gov.ua/