R50 2c89dd09080649d376f0e7026694117b
PHP, IOS, Android, C#, Python

Разработка сайта для производителя взрывобезопасного оборудования

Добавлено 29 авг 2023 в 14:14
Заказчик – один из ведущих про­из­во­дите­лей взры­вобе­зопас­но­го обо­рудо­вания в России, пришел к нам с заданием написать скрипт для об­новле­ния ин­форма­ции о товарах на сайте. Данные для об­новле­ния должны были заг­ру­жать­ся путем парсинга XML-файла, по­лучен­но­го из 1С.

Что мы делали
Из всего списка вы­пол­ненных задач можно выделить две наиболее сложные:
- Парсинг файлов выгрузки из 1С.
- Опти­миза­ция запросов по поиску артикула, исходя из выб­ранной ком­плек­та­ции.

Парсинг файлов выгрузки из 1С

Проблема

В этой задаче не­об­хо­димо было написать скрипт для парсинга XML-файла и на основе по­лучен­ных данных либо до­бав­лять, либо об­новлять товары на сайте. Для каждого товара су­щес­тву­ет свой от­дель­ный файл с полным опи­сани­ем свойств товара и огромным ко­личес­твом раз­личных вариаций его ис­полне­ния. Иногда размеры таких файлов доходили до нес­коль­ких гигабайт, из-за чего мы не могли парсить файлы обычными средс­тва­ми, так как объем опе­ратив­ной памяти на сервере был меньше, чем размеры этих файлов.

Решение

В итоге был написан скрипт для парсинга, который не загружал во время парсинга весь файл целиком и работал с ним по строчкам, что, с одной стороны, ус­ложни­ло логику, но с другой – поз­во­лило парсить файлы любых размеров.


Мы в telegram:
Евгений Сомов @john081076
Анна Сабадаш @TatankaYotanka

Почта
hello@softorium.pro

Телефоны
+7 (384-2) 32-67-98
+7 913 301-93-90
C1522be185