Desktop application for collecting company data from checko.ru via Selenium + PySide6.
- Python 3.10+
- Google Chrome (for Selenium; used from Phase 1 onward)
- macOS or Windows
На 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.pyWindows (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- 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-разведка.
- Project scaffold
- Configuration via
settings.json(seesettings.json.example) - WebDriver smoke test:
.venv/bin/python -m parsers.webdriver_factory(послеsetup.sh)
.venv/bin/python -m unittest discover -s tests -vconfig/ 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
Репозиторий: 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 в репозитории).