Автор: Светлана Суязова (Аксюк) [email protected]
Последнее большое обновление: 08 Mar 2020 💐 🍨 ☕
Последнее обновление: 05 Sep 2023 📖 🍂 🍼
Обновлён скрипт загрузки с сервера: теперь не нужен сторонний ftp-менеджер, для загрузки файлов генерируется bash-скрипт. Обновлено руководство по загрузке данных.
Порядок выполнения скриптов для загрузки данных по электронным аукционам с ftp.zakupki.gov.ru по 44ФЗ:
parser-ftp-01_Setup-fz44.R
-- подготовка рабочего пространства, создание директорий под данные.parser-ftp-02_Load-Unzip-and-Index-fz44.R
-- загрузка и распаковка (bash скрипты), индексация скачанных файлов. Самый длительный этап. 🕢parser-ftp-03_Parse-Loaded-XML-fz44.R
-- парсинг распакованных XML-файлов по закупкам. Второй по длительности этап 🕞. В файле ./data/reference/df_xml_patterns.csv находятся xpath-запросы для разбора разных типов xml-файлов.parser-ftp-04_Prepare-Data-for-Models.R
-- вычисление переменных под модели зависимости процента экономии от переменных, характеризующих конкуренцию в электронных аукционах. Для экономии памяти вычисления и совмещение таблиц делаются отдельно по каждому региону, и результат сохраняется в папкуcsv
внутри папки с выгрузкой данных по именемDT_model_EA44_<НАЗВАНИЕ РЕГИОНА>.csv
. Здесь мы выбираем данные только по успешным электронным аукционам, чем сильно ограничиваем выборку. Ситуация осложняется тем, что идентификатор заявкиpurchiseNumber
может дублироваться в нескольких аукционах, и непонятно, что с этим делать. Сейчас скрипт оставляет только самые свежие из протоколов и заявок с одним и тем жеpurchiseNumber
. В идеале надо смотреть глубже и связывать такие повторы в отдельные цепочки. Пока не знаю как. 🤷♀️parser-ftp-04_Prepare-Data-for-Models_2.R
-- данные для модели для сравнения количества неудачных аукционов в товарных группах, связанных с ИТ, vs все остальные. Добавлены результаты процедур с одной заявкой, с одним участником, отменённые объявления и протоколы, а также загадочные файлыfcs_PlacementResults.xml
. Там обнаружены, в частности, результаты электронных аукционов, для которых нет xml-файлов с протоколами ❓ Мне ещё предстоит разобраться в причинах этого, но пока что изfcs_PlacementResults.xml
взяты финальная цена и факт того, что победитель уклонился от заключения контракта (там есть сведения по второму номеру).
Немного подробнее о содержимом ftp здесь: filenames_description.md
.
Ещё вам понадобится:
- много свободного места на жёстком диске
- много времени
- много оперативной памяти
- для загрузки и распаковки под linux: lftp
Что планируется улучшить:
-
Добавить интерфейс (приложение shiny app?) для настройки параметров загрузки данных 📅 до 24.09.2023
-
Сделать схему взаимодействия файлов и глобальных переменных, чтобы улучшить понимание работы кода 📅 до 10.09.2023 ✅
-
Пересмотреть шаблоны для парсинга, т.к. некоторые теги изменились, обеспечив обратную совместимость 📅 до 10.09.2023
-
Переписать код через dplyr, дабы минимизировать кровь из глаз, и почистить косяки в подготовке модельных данных 📅 до 10.09.2023
-
Организовать данные в xml-БД (???)