Разместите свой проект бесплатно и начните получать предложения от фрилансеров-исполнителей уже спустя минуты после публикации!
300 ₴

Парсинг xml файла и внесение в него правок Python

проект завершен


Надо распарсить xml файл.

Перечень того что надо сделать:

  • Очистить тег description от стилей, ссылок и картинок.
  • Обернуть значение description в <![CDATA[ ... ]]
  • Сформировать цену по формуле

          (    цена опт

               цена розница

               маржа = розница - опт

               минимально допустимая маржа - МДМ   )

Если маржа < МДМ + цена розн * 0,85:

     цена розн новая = МДМ + цена розница * 0,85 + цена опт 

    таким образом надо увеличивать значение маржи на единицу, пока конечная цена не будет состоять из суммы оптовой цены, минимально допустимой и 15% от розничной цены. Тоисть 15% от розничной цены минус розничная цена должно быть не меньше чем опт + МДМ. На словах попробую условие объяснить подробней.

Все параметры формулы ценообразования должна иметь возможность править (через переменные), коментарии к каждому процессу.

В итоге надо обработанный прайс добавить в уже существующий или уже существующий добавить в этот.

Желательно использовать библиотеки, поскольку есть уже написанный скрипт и эта часть будет использоваться для одного из пунктов его работы.


import xml.etree.ElementTree as et

from xml.etree.ElementTree import Element, SubElement, Comment, tostring


Начало разбора прайса

root = tree.getroot()


# РАБОТАЕМ С ПАРСИНГОМ СТРАНИЦЫ            

for elem in root:

    for subelem in elem:

        for offer in subelem.findall('offer'):


Пример позиции прайза

<offer available="true" id="24156" selling_type="r">

<url>

ссылка

</url>

<picture name="main_picture">картинка</picture>

<picture name="dop_picture">

картинка

</picture>

<priceUAH>264</priceUAH> // оптовая ценва

<price>364.0</price> // розница

<portal_category_id>12123208</portal_category_id>

<vendorCode>25248</vendorCode>

<categoryId>23</categoryId>

<discount>4%</discount> 

<name>

Габариты LED RING 

</name>

<vendor>Ring</vendor>

<description type="html">

<aside> <h2>Описание Габариты LED RING BAY15D 19 LED Red LED3809R (8091) б2</h2> <ul> <li> <span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">Цоколь: BAY15d (0SP). </span></span></li> <li> <span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">Количество диодов: 19.</span></span></li> <li> <span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">Питание: 12В. </span></span></li> <li> <span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">Потребляемая мощность: 2W. </span></span></li> <li> <span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">Световой поток: 160 LM. </span></span></li> <li> <span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">Цвет свечения: красный. </span></span></li> <li> <span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">Размер мм: 40x25x25. </span></span></li> <li> <span style="font-size:14px;"><span style="font-family:tahoma,geneva,sans-serif;">Упаковка: 2 шт в блистере.</span></span></li> </ul> </aside>

</description>

<param name="Состояние">Новое</param>

<keywords>

</offer>


Отзыв заказчика о сотрудничестве с Alex Dyriv

Качество
Профессионализм
Стоимость
Контактность
Сроки

Хороший исполнитель, все делает оперативно и качественно. Сделал все точно и качественно. Всегда на связи. Рекомендую.

Отзыв фрилансера о сотрудничестве с Александром Кобзарем

Оплата
Постановка задачи
Четкость требований
Контактность

Отличный заказчик, приятно работать!

Alex Dyriv | Сейф Сейф


  1.  1 день 800 ₴
    Денис Лысый
    1288     25  1   1

    Добрый день, большой опыт в работе с XML, с заданием ознакомлен, сделаю за 1 день, буду рад к сотрудничеству

    Украина Овидиополь | 18 сентября 2019 |
  2.  2 дня 1 000 ₽
    Nikita Bardov
    117     2  0

    Здравствуйте , Александр.
    Имею большой опыт в написании парсеров , работаю на языке python
    Готов помочь вам максимально оперативно.
    Пишите в ЛС

    Россия Москва | 18 сентября 2019 |
  3.  1 день 1 000 ₽
    Николай Александров
    119   

    За день сделаю на питоне, большой опыт в написании парсеров.

    Россия Барнаул | 19 сентября 2019 |
  4.  Победившая ставка 3 дня 300 ₴
    Alex Dyriv
    241     2  0

    Готов взяться! Работу выполню за пару часов, по тз вопросов нет. Могу забить все в функцию переменные которой будут править параметры формулы, доступа к скрипту не нужно.

    Украина Киев | 23 сентября 2019 |