Переименование изображений

Тема в разделе "Решение различных задач по парсингу", создана пользователем JohnGalt, 4 авг 2013.

  1. JohnGalt

    JohnGalt New Member Пользователи

    Регистрация:
    4 авг 2013
    Сообщения:
    2
    Приветствую!
    Суть задачи: есть им, на каждой странице стоит превьюшка (картинка) товара, обернутая ссылкой на этот товар, вида catalog/id_товара (например catalog/342)
    Задача - парсить изображения со страниц, переименовывая их в этот самый айди товара (т.е. например 342.jpg)
    Сейчас на выходе имею код такого типа:
    PHP:
    <a href="/catalog/watches/206"><img src="images/image_48.jpg" title="" alt="" /></a>
    Хоть убейте, но никак не соображу как и где это сделать.
    Ставил в настройках повторяющихся страниц регулярку
    PHP:
    [REPLACE(
    re:.*\watches/(\d*).*src="(.*)".*|<a href="/catalog/watches/$1"><img src="$1" title="" alt="" /></a>
    )]<
    CD_GRAN_1!>[/REPLACE]
    Получалась лабуда, пытался переименовывать чз REPLACE в шаблоне вывода - тоже самое. Прошу Вашей помощи, программой пользуюсь впервые, так что не обессудьте.:)
     
  2. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.432
    Адрес:
    Latvia
    А регулярки тут зачем. в вашей ситуации все делается стандартными возможностями.
    href="/catalog/watches/ - начало границы
    " - конец границы
    а дальше уже дело фантазии как угодно можно ид ставить в шаблоне вывода
     
  3. JohnGalt

    JohnGalt New Member Пользователи

    Регистрация:
    4 авг 2013
    Сообщения:
    2
    Настроил повторяющиеся границы:
    1я:
    <td class="image_product"> </td> - получает обернутую в <a> картинку
    2я:
    <td class="image_product"><a href="/catalog/watches/ " - получает id товара.

    Далее, в настройках повторяющихся границ, для 2й границы указал:
    PHP:
    <a href="/catalog/watches/[VALUE]"><img src="images/[VALUE].jpg" /></a>
    А в шаблоне вывода:
    PHP:
    <CD_HEADER!>

    <
    CD_CYCLE_GRAN_1!>

    <
    CD_CYCLE_GRAN_2!>
    В итоге получаю:

    PHP:
    [B]Блок для <CD_CYCLE_GRAN_1!>:[/B]
    <
    a href="/catalog/watches/168"><img src="images/image_147.jpg" title="" alt="" /></a>

    <
    a href="/catalog/watches/167"><img src="images/image_148.jpg" title="" alt="" /></a>

    <
    a href="/catalog/watches/166"><img src="images/image_149.jpg" title="" alt="" /></a>

    [
    B]Блок для <CD_CYCLE_GRAN_2!>:[/B]
    <
    a href="/catalog/watches/168"><img src="images/image_150.jpg" /></a>
    <
    a href="/catalog/watches/167"><img src="images/image_151.jpg" /></a>
    <
    a href="/catalog/watches/166"><img src="images/image_152.jpg" /></a>
    Что я делаю не так ? Почему [VALUE], из настройки 2й повтор. границы, сработал для ссылок в href, а для картинок в src нет (имя в итоге по своему вывелось) ? + Для второго блока картинки битые получаются почему-то .. ?
     

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