поиск-замена в текущей границе при условии наличия чего либо в другой границе

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

  1. ajivitca

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

    Регистрация:
    11 июн 2013
    Сообщения:
    39
    нужно что либо менять/вставлять/заменять полностью контент текущей границы парсинга при условии наличия чего-либо в другой границе парсинга (или как вариант - ищем что-либо во всем документе и при нахождении чего-либо (например ID товара) делаем значение (заменяем полностью) первой границы парсинга (например название верхнего подраздела) значением ABCD1, другой границы парсинга (название подраздела 2 уровня) DEF2, а значение поля границы парсинга (граница с именем GENDER) на male.

    те общая задача - менять при каждом парсинге десяток разделов на другие или засовывать товары в подразделы (те структура каталога двух уровневая, а товар запихали зачем-то на первый уровень), если сайты-доноры делали криворучки.

    делать это надо не раз и не два, а раз в 2-3 дня. те один раз переделвать ручками не получится. натравливать потом на результирующую CSV какой-либо PHP парсер так же не желательно. только если что-либо в пределах CD.
     
  2. nikolas1612

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

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    http://forum.sbfactory.ru/showthread.php?t=1224
    по этой системе можно выстраивать целые блоки границ которые влияют друг на друга. но с каждой новой границей в связке проект будет все более сложным и запутанным.
    вкратце логика процесса: будут технические границы - единственная роль которых - контрольная функция. нашли что-то в контрольной границе - увязали с ней через fnil границу номер 2 с определенным replace
    рядом - такой же блок, но другая контрольная граница которая тоже выводит на границу 2 но с другим replace


    другого варианта решения вашей задачи не вижу.
     
    Последнее редактирование: 17 авг 2013
  3. ajivitca

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

    Регистрация:
    11 июн 2013
    Сообщения:
    39
    Пока решаю методом поиска-замены в html коде. Не очень красиво, но работает. И очень зависит от верстки сайта.чуть поменяют чего и надо править простыни поиска-замены.

    В некоторых проектах до сотни таких замен.

    А хотелось бы по человечески.

    Напрмер: если граница1 содержит "коляски" а граница 2 (нзвание товара) содержит "2 в 1" то на выходе этого товара получаем его в категории "детские коляски" подкатегория "2 в 1".

    Или уже есть и я что то пропустил?
     
  4. Root

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

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

    Для решения подобных задач есть макрос [CHECKENTRY] (проверяет наличие символов/слова в тексте и выводит тот или иной текст, в зависимости от этого наличия), подробнее о нем смотрим тут Ссылки недоступны для гостей

    С уважением к вам, Сергей.
     

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