This commit is contained in:
jze9
2026-06-01 17:04:41 +05:00
parent 02d52b2850
commit 89c3500151
19 changed files with 100 additions and 64555 deletions

View File

@@ -0,0 +1,60 @@
# ФИАС — поиск адресов и выгрузка выписок ГАР
Программа по списку кадастровых номеров (Excel) ищет объекты на
[fias.nalog.ru](https://fias.nalog.ru/Search/Extended), скачивает выписки ГАР (PDF)
и собирает результаты в таблицу.
## Для конечного пользователя
Нужно установить **только одно**:
- **КриптоПро ЭЦП Browser plug-in** + КриптоПро CSP — сайт ФИАС без них не работает.
Скачать: <https://www.cryptopro.ru/products/cades/plugin/>
Firefox, geckodriver и расширение КриптоПро для браузера **уже встроены** в `ФИАС_поиск.exe`
ставить и настраивать их не нужно.
Дальше:
1. Запустить `ФИАС_поиск.exe`.
2. Выбрать Excel со списком КН (нужна колонка «КН» или «Кадастровый номер»).
3. Выбрать папку для результатов и нажать «Запустить».
Результаты (таблица + PDF + журнал) складываются в подпапку с датой и временем запуска.
## Для сборки (разработчику)
Чтобы `.exe` был самодостаточным, перед сборкой надо один раз скачать
портативный Firefox и geckodriver в папку `vendor/`:
```bash
# нужен 7-Zip для распаковки Firefox:
# Linux: sudo apt install p7zip-full
# Windows: установить 7-Zip и добавить 7z в PATH
python fetch_vendor.py # win64 (по умолчанию)
# python fetch_vendor.py --arch win32 # для 32-битного Windows
```
После этого:
```bash
# На Windows (32-bit Python 3.8 для win32 .exe):
pip install -r requirements.txt
python build.py
# Либо кросс-сборка на Linux через wine:
./build_wine.sh
```
Готовый `dist/ФИАС_поиск.exe` уже содержит Firefox + geckodriver + расширение КриптоПро.
### Что во что встраивается
| Компонент | Источник | Где в сборке |
|---|---|---|
| Расширение КриптоПро (XPI) | `extensions/` (в репозитории) | внутри .exe |
| Портативный Firefox | `vendor/firefox/` (`fetch_vendor.py`) | внутри .exe |
| geckodriver | `vendor/geckodriver.exe` (`fetch_vendor.py`) | внутри .exe |
| КриптоПро CSP + нативный plug-in | ставит пользователь | — |
Папка `vendor/` в git не хранится (большие бинарники) — её наполняет `fetch_vendor.py`.
Если собрать без неё, программа попробует системный Firefox и скачает geckodriver из интернета.