Skip to content

Repository files navigation

Parser

Desktop application for collecting company data from checko.ru via Selenium + PySide6.

Requirements

  • Python 3.10+
  • Google Chrome (for Selenium; used from Phase 1 onward)
  • macOS or Windows

Quick start

На macOS часто нет команд python и pip — используйте python3 / виртуальное окружение.

macOS / Linux (рекомендуется):

cd /path/to/Parser
chmod +x scripts/setup.sh scripts/run.sh
./scripts/setup.sh
./scripts/run.sh

Вручную:

cd /path/to/Parser
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
cp settings.json.example settings.json
python main.py

Windows (PowerShell):

cd C:\path\to\Parser
py -3 -m venv .venv
.\.venv\Scripts\activate
python -m pip install -r requirements.txt
copy settings.json.example settings.json
python main.py

MVP — Checko

  • Checko-only desktop app (PySide6, вкладка Checko)
  • GUI: три карточки (категории ОКВЭД, регионы, фильтры), шапка «Parser.», статус-бар
  • Footer: CSV Bitrix24, параллельных браузеров (1–10), показ окна Chrome — в одной строке под кнопками задачи
  • Настройки → Параметры парсера… — дубликат footer-настроек; persist в settings.json
  • Категории: 3-уровневый ActivityAccordion, поиск, мультивыбор путей ОКВЭД
  • Регионы: плоский список RegionFlatList, «Выбрать все», поиск
  • Обновить категории: ~1–2 мин (Chrome, модалка видов деятельности); в кэше должно быть сотни+ кодов
  • Выручка в млн руб., видимый Chrome (Selenium Manager)
  • Параллельная загрузка карточек: Параллельных браузеров в footer (1–10) или Настройки → Параметры парсера…
  • Видимость Chrome: checkbox «Показывать окно браузера» в footer (CHROME_HEADLESS)
  • JSON: company_name, category, leaders, phones, address
  • Опционально CSV для Bitrix24: чекбокс «Также сохранить CSV для Bitrix24» — 64 колонки, ;, UTF-8 BOM (см. docs/architecture/07-bitrix-csv-export.md)
  • SQLite-кэш видов деятельности и регионов; фоновые задачи ParseWorker
  • Статус-бар «Записей в БД» — размер кэша категорий+регионов, не число спарсенных компаний

См. CHANGELOG.md — см. раздел [Unreleased] (Bitrix CSV, настройки воркеров, footer).

Документация

См. docs/README.md — индекс, MVP, архитектура, DOM-разведка.

Phase 0

  • Project scaffold
  • Configuration via settings.json (see settings.json.example)
  • WebDriver smoke test: .venv/bin/python -m parsers.webdriver_factory (после setup.sh)

Tests

.venv/bin/python -m unittest discover -s tests -v

Project layout

config/     settings (load/save settings.json)
db/         SQLite (categories, regions)
parsers/    models, checko parser, card_pool, webdriver
ui/         main window, checko tab, settings dialog
export/     JSON and Bitrix24 CSV export
docs/       specification and architecture
tests/      unit tests

Full documentation: docs/README.md

Git / GitHub

Репозиторий: github.com/jackmagicmagicson-stack/Parser

Не коммитьте: data/, logs/, output/, settings.json, .env, ключи, .venv/.

Клонирование:

git clone https://github.com/jackmagicmagicson-stack/Parser.git
cd Parser
./scripts/setup.sh
./scripts/run.sh

Перед push проверьте: git status чистый, секретов в истории нет, settings.json только локально (settings.json.example в репозитории).

About

Desktop app for collecting company data from checko.ru — PySide6 GUI, Selenium, SQLite cache, JSON export.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages