Вопрос: Загрузка ссылок сайта из XML-карты Карт сайта

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

  1. KEN

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

    Регистрация:
    2 авг 2015
    Сообщения:
    19
    Как можно загрузить ссылки из карты сайта, если в XML карте находятся не ссылки на нужные страницы, а ссылки на другие карты сайта ?

    Сайт большой и парсить его сканером сайта скорее всего будет долго.

    пример такого сайтмапа

    <sitemap>
    <loc>http://сайт.com/xmloutput.php?page=1</loc>
    </sitemap>
    <sitemap>
    <loc>http://сайт.com/xmloutput.php?page=2</loc>
    ....
    <sitemap>
    <loc>http://сайт.com/xmloutput.php?page=27</loc>
    </sitemap>
    </sitemapindex>

    В этом деле я можно сказать новичок, но подобные задачи ставят меня в тупик, поэтому нужна помощь. Версия CD последняя.


    И еще вопрос, что бы не создавать новую тему. Как можно в шаблоне вывода задать условие, если Производитель = такой то, тогда в колонке Размер , делаем такую замену
    2|XS
    3|S
    4|M
    5|L

    Сделать это в настройках границ парсинга нельзя потому что, тогда для всех размеров сделается такая замена и белье с размеров 75B, станет тогда - 7LB
    Объясняю: размеры 2,3,4,5 и тд это размеры для чулков и колгот, у всех производителей в этом прайсе они заданы нормально, как XS,S,M,L а у этого цифрами.
     
  2. Root

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

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

    1) Использовать сканер сайтов (ctrl+7) Ссылки недоступны для гостей в сканере найти кнопку с изображением шестеренки ("настройка функции поиска ссылок") и там прописать:
    Далее настраивать фильтры ссылок и очереди сканера

    2) Проверять производителя макросом [CHECKENTRY] и выполнять поиск-замены вложенным внутрь макросом [REPLACE] Ссылки недоступны для гостей

    С уважением к вам, Сергей.
     
    Vugar нравится это.
  3. KEN

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

    Регистрация:
    2 авг 2015
    Сообщения:
    19

    спасибо, помогло.

    использовал эту конструкцию

    [CHECKENTRY(555)]55555[THENTEXT]текст 1[ELSETEXT]текст 2[/CHECKENTRY] -> выведет "текст 1", так как "текст 1" стоит после [THENTEXT], после оператора [THENTEXT] прописывается то, что нужно вывести, если условие(я) в макросе CHECKENTRY выполнено(ы)


    [CHECKENTRY(Brend)]<CD_GRAN_3!>[THENTEXT][REPLACE(1|XS{break}2|S{break}3|M{break}4|L{break}5|XL{break}6|XXL)]<CD_GRAN_6!>[/REPLACE][ELSETEXT]<CD_GRAN_6!>[/CHECKENTRY]

    где <CD_GRAN_3!> - значения бренда, а <CD_GRAN_6!> - значения размеров

    Если бренд=Brend, тогда выводим <CD_GRAN_6!> но в их меняем 2|XS, 3|S, 4|M, 5|L, 6|XL, если нет, тогда выводим размеры <CD_GRAN_6!> без замен


    __
    единственный вопрос как применить к этой конструкции[DUPIGNORE]

    вариант ниже не срабатывает

    [DUPIGNORE][KEY][CHECKENTRY(Brend)]<CD_GRAN_3!>[THENTEXT][REPLACE(1|XS{break}2|S{break}3|M{break}4|L{break}5|XL{break}6|XXL)]<CD_GRAN_6!>[/REPLACE][ELSETEXT]<CD_GRAN_6!>[/CHECKENTRY][/KEY][/DUPIGNORE]

    [CHECKENTRY(Brend)]<CD_GRAN_3!>[THENTEXT][REPLACE(1|XS{break}2|S{break}3|M{break}4|L{break}5|XL{break}6|XXL)][DUPIGNORE][KEY]<CD_GRAN_6!>[/KEY][/DUPIGNORE][/REPLACE][ELSETEXT][DUPIGNORE][KEY]<CD_GRAN_6!>[/KEY][/DUPIGNORE][/CHECKENTRY]
     
    Последнее редактирование: 13 авг 2015
  4. Root

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

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

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

    Либо приложите сюда ваш файл проекта.

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

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

    Регистрация:
    2 авг 2015
    Сообщения:
    19
    возможно потому что в шаблоне вывода уже используется один [DUPIGNORE]


    лог посмотрел,но почему не выполняется [DUPIGNORE] сказать не могу

    Выполнение макроса(ов) шаблона вывода [CHECKENTRY]
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
    Выполнение макроса(ов) шаблона вывода [DUPIGNORE]
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
     

    Вложения:

    • 0.cdp
      Размер файла:
      247,1 КБ
      Просмотров:
      2
  6. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Подключите файл для записи значений [KEY] в меню - настройка - настройка макросов - DUPIGNORE. Учтите, что при предпросмотре запись значений [KEY] в подключенный файл не производится. Производится только при парсинге (F5)...
     
  7. KEN

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

    Регистрация:
    2 авг 2015
    Сообщения:
    19
    файл подключил, результаты смотрю не предпросмотром, а в итоговом файле парсинга. Перепробовал разные варианты конструкций [DUPIGNORE], но не могу понять где ошибка, помогите разобраться, пожалуйста


    возможно DUPIGNORE вообще тут не поможет и нужно удалять эти повторы
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
    как то по другому

    кстати, если сделать так
    [DUPIGNORE][KEY]<CD_GRAN_6!>[/KEY][/DUPIGNORE]

    то дублирование так же не убирается, так что DUPIGNORE не отрабатывает
     
    Последнее редактирование: 14 авг 2015

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