Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
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