Парсинг нескольких изображений из XML

Тема в разделе "Решение различных задач по парсингу", создана пользователем cyoshi, 25 июн 2019.

  1. cyoshi

    cyoshi Member Пользователи

    Регистрация:
    4 апр 2019
    Сообщения:
    69
    Добрый день!
    Ситуация следующая

    Есть возможность получать контент в виде XML на изображениях есть "ненужные" водяные знаки которые можно обрезать при помощи DOWNLOADFILE (спасибо разработчику за просто громадный функционал)

    чтобы обрезать а потом импортировать надо: (на сколько я понимаю)
    1. скачать каждое изображение и обрезать DOWNLOADFILE
    2. затем правильно назвать и выгрузить на фтп чтобы потом при импорте сайт реципиент их хорошо скушал

    изображение находится между тегов <images> </images>

    Примерный вид как все выглядит:
    Код:
    <images>https://92.img.bzzzzzz.st/640x480/5746884092.jpg,https://57.img.bzzzzzz.st/640x480/5746883757.jpg,https://09.img.bzzzzzz.st/640x480/5746885609.jpg,https://79.img.bzzzzzz.st/640x480/5746886779.jpg,https://40.img.bzzzzzz.st/640x480/5746888040.jpg,https://79.img.bzzzzzz.st/640x480/5746889679.jpg,https://69.img.bzzzzzz.st/640x480/5746891269.jpg,https://75.img.bzzzzzz.st/640x480/5746892275.jpg,https://07.img.bzzzzzz.st/640x480/5746893207.jpg,https://52.img.bzzzzzz.st/640x480/5746895852.jpg,https://55.img.bzzzzzz.st/640x480/5746897355.jpg,https://01.img.bzzzzzz.st/640x480/5746899301.jpg,https://18.img.bzzzzzz.st/640x480/5746899818.jpg,https://75.img.bzzzzzz.st/640x480/5746901275.jpg,https://33.img.bzzzzzz.st/640x480/5746902333.jpg,https://21.img.bzzzzzz.st/640x480/5746903621.jpg,https://31.img.bzzzzzz.st/640x480/5746904331.jpg,https://90.img.bzzzzzz.st/640x480/5746905490.jpg</images>
    если изображение между границами одно проблем нет все работает.

    А если изображений несколько.... вот здесь я застрял:

    Каждый элемент (объявление) я получаю при помощи повторяющейся границы парсинга
    в которой я размечаю обычные границы.

    а тут получается какой-то фильм "Начало"...
    Повторяющаяся граница в которой обычная граница, в которой опять должна быть Повторяющаяся ?

    В системе помощи искал и не нашел.

    Помогите пожалуйста!

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

    то что зеленым отметил вроде бы понятно как сделать )) (еще не пробовал но мне кажется получится)
     
  2. inotoxic

    inotoxic Well-Known Member Пользователи

    Регистрация:
    13 сен 2015
    Сообщения:
    868
    Ссылки недоступны для гостей

    Не проще ли скачать фото как есть, потом тем-же XnView провести обработку и далее залить фото на FTP
     
    cyoshi нравится это.
  3. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    2019-06-25_21-00-20.png
     
    cyoshi нравится это.
  4. cyoshi

    cyoshi Member Пользователи

    Регистрация:
    4 апр 2019
    Сообщения:
    69
    Спасибо большое за Ваши ответы! буду пробовать!

    по поводу ручной обрезки.
    объявления получаются через API хочется все автоматизировать. благо программа позволяет это сделать
     
    Root нравится это.
  5. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Пожалуйста.

    Обращайтесь.
     
    cyoshi нравится это.
  6. cyoshi

    cyoshi Member Пользователи

    Регистрация:
    4 апр 2019
    Сообщения:
    69
    Извините, коллеги за мою несообразительность но я что то вообще не пойму как мне мою задачу решить ((
    раз 5 прочитал материал, посмотрел видео но понятия не имею как это применить ко моему проекту...

    вот xml который у меня есть (во вложении)
    я могу получить в шаблоне вывода только все урлы изображений сразу (обозначив границы тегами <image></image>)
    а мне надо получить каждую картинку отдельно, обрезать водяной знак, выгрузить на FTP и в ячейку CSV вставить урлы на обрезанные картинки через запятую...
    проект что я уже сделал тоже прикладываю (там немного совсем)

    Это ведь правда возможно?
     
  7. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    Одной из границ взять все содержимое из
    Код:
    <images>https://92.img.bzzzzzz.st/640x480/5746884092.jpg,https://57.img.bzzzzzz.st/640x480/5746883757.jpg,https://09.img.bzzzzzz.st/640x480/5746885609.jpg,https://79.img.bzzzzzz.st/640x480/5746886779.jpg,https://40.img.bzzzzzz.st/640x480/5746888040.jpg,https://79.img.bzzzzzz.st/640x480/5746889679.jpg,https://69.img.bzzzzzz.st/640x480/5746891269.jpg,https://75.img.bzzzzzz.st/640x480/5746892275.jpg,https://07.img.bzzzzzz.st/640x480/5746893207.jpg,https://52.img.bzzzzzz.st/640x480/5746895852.jpg,https://55.img.bzzzzzz.st/640x480/5746897355.jpg,https://01.img.bzzzzzz.st/640x480/5746899301.jpg,https://18.img.bzzzzzz.st/640x480/5746899818.jpg,https://75.img.bzzzzzz.st/640x480/5746901275.jpg,https://33.img.bzzzzzz.st/640x480/5746902333.jpg,https://21.img.bzzzzzz.st/640x480/5746903621.jpg,https://31.img.bzzzzzz.st/640x480/5746904331.jpg,https://90.img.bzzzzzz.st/640x480/5746905490.jpg</images>
    В дополнительных настройках границы в поиск-замена применить список замен.
    Код:
    {textstart}|,
    {textend}|,
    re:\,([^<>\,]+)|,<img>$1</img>
    получится вид такой
    Код:
    ,<img>https://92.img.bzzzzzz.st/640x480/5746884092.jpg</img>,<img>https://57.img.bzzzzzz.st/640x480/5746883757.jpg</img>,<img>https://09.img.bzzzzzz.st/640x480/5746885609.jpg</img>,<img>https://79.img.bzzzzzz.st/640x480/5746886779.jpg</img>,<img>https://40.img.bzzzzzz.st/640x480/5746888040.jpg</img>,<img>https://79.img.bzzzzzz.st/640x480/5746889679.jpg</img>,<img>https://69.img.bzzzzzz.st/640x480/5746891269.jpg</img>,<img>https://75.img.bzzzzzz.st/640x480/5746892275.jpg</img>,<img>https://07.img.bzzzzzz.st/640x480/5746893207.jpg</img>,<img>https://52.img.bzzzzzz.st/640x480/5746895852.jpg</img>,<img>https://55.img.bzzzzzz.st/640x480/5746897355.jpg</img>,<img>https://01.img.bzzzzzz.st/640x480/5746899301.jpg</img>,<img>https://18.img.bzzzzzz.st/640x480/5746899818.jpg</img>,<img>https://75.img.bzzzzzz.st/640x480/5746901275.jpg</img>,<img>https://33.img.bzzzzzz.st/640x480/5746902333.jpg</img>,<img>https://21.img.bzzzzzz.st/640x480/5746903621.jpg</img>,<img>https://31.img.bzzzzzz.st/640x480/5746904331.jpg</img>,<img>https://90.img.bzzzzzz.st/640x480/5746905490.jpg</img>,
    В шаблоне вывода обработать картинки из границы макросом GETMORECYCLECONTENT (читайте справку что это за макрос), зацепиться можно теперь за каждую <img> и </img>

    п.с. выкачивать картинки макросом DOWNLOADFILE который применить можно и нужно внутри GETMORECYCLECONTENT
     
    cyoshi нравится это.
  8. cyoshi

    cyoshi Member Пользователи

    Регистрация:
    4 апр 2019
    Сообщения:
    69
    Спасибо большое! буду пробовать))
     
  9. cyoshi

    cyoshi Member Пользователи

    Регистрация:
    4 апр 2019
    Сообщения:
    69
    получилось собирать картинки и могу вывести их в ячейке столбиком )

    [GETMORECYCLECONTENT][SOURCE][GRAN9][/SOURCE][START]<img>[/START][END]</img>[/END][SEP],{br}[/SEP][/GETMORECYCLECONTENT]

    а как связать его с макросом DOWNLOADFILE не понятно.
    если оборачиваю эту конструкцию макросом DOWNLOADFILE то ничего не работает ...

    на всякий случай прикладываю скрин своего проекта
    project.png
     
  10. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    Непонятно, зачем так импровизируете с макросом, убрали важные внутренние параметры. Советую удалить такую конструкцию.
    ---
    Ссылки недоступны для гостей - В справке о GETMORECYCLECONTENT подробно о каждом параметре описано.
    Выкачивать каждую картинку можно через DOWNLOADFILE который будет в TOSTART и TOEND
     
  11. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Обратите внимание на параметры [TOSTART] и [TOEND] Ссылки недоступны для гостей
     
  12. cyoshi

    cyoshi Member Пользователи

    Регистрация:
    4 апр 2019
    Сообщения:
    69
    работает спасибо!!!!
     
    Root нравится это.

Поделиться этой страницей