/CVK_data_scraper

Скрапер для стягування даних з сайту ЦВК

Primary LanguagePython

Скрапер даних ЦВК

Цей проєкт призначений для стягування та оброблення даних про кандидатів на місцевих виборах 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                         <- файл для запуску опрацювання даних
│

Встановлення

  1. Для роботи з проєктом потрібно мати встановлений Python 3.

    Щоб перевірити версію, виконайте в терміналі наступну команду: python --version

  2. Клонуйте репозиторій зручним вам способом (наприклад, через веб або десктоп версію Github)

    Для клонування репозиторію через термінал, виконайте наступну команду:

    git clone https://github.com/ActiveConclusion/CVK_data_scraper

  3. Потрібно мати встановлений pip (стандартний менеджер пакетів для Python).

    Щоб перевірити, чи це встановлено, виконайте наступну команду: pip --version

  4. (рекомендований крок) Для уникнення конфліктів зовнішніх залежностей, використовуйте віртуальне середовище.

    4.1. Встановлення virtualenv (якщо не встановлено):

    pip install virtualenv

    4.2. Створіть віртуальне середовище для проекту (запустіть у корені цього репозиторію):

    virtualenv venv

    4.3. Активуйте віртуальне середовище:

    source venv/bin/activate

  5. Встановіть усі залежності проєкту:

    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/