Не могу запарсить через макрос [GETMORECYCLECONTENT]

Тема в разделе "Решение различных задач по парсингу", создана пользователем Дмитрий Буто, 26 дек 2016.

  1. Дмитрий Буто

    Дмитрий Буто New Member Пользователи

    Регистрация:
    3 янв 2014
    Сообщения:
    44
    Добрый день, не могли бы помочь решить местную задачу: нужно чтобы на странице (к примеру ) Ссылки недоступны для гостей перешла по ссылкам сопутствующих товаров и взяла артикулы этих сопутствующих. Все это должно было бы быть заполненным в колонку related (колонка №22) в таком виде значение|значение|значение. Приложил файл свой, 18 граница и 2 повторяющаяся граница . Что не так делаю-не могу понять. Вроде задача не слишком сложная...
     

    Вложения:

  2. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Используемых в [GETMORECYCLECONTENT] границ <span itemprop="mpn"> нет в коде WEB-документа Ссылки недоступны для гостей
     
  3. Root

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

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

    Дмитрий Буто New Member Пользователи

    Регистрация:
    3 янв 2014
    Сообщения:
    44
    Последнее редактирование: 27 дек 2016
  5. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    когда загружается через getmorcontent то там не обрабатывается wbapp его нужно подключать галочкой и поэтому нет этой границы (см рис), а в [GETMORECYCLECONTENT] вообще помоему нет такой функции(хотя могу и ошибаться).
    Но у меня другое предложение. если все артикулы имеют такой вид
    Скрытое содержимое:
    **Скрытое содержимое: доступно при наличии 1 постов.**
    то не проще ли просто брать этот код 26402120 и преобразовывать его в нормальный(нужный) вид 2.640-212.0
     

    Вложения:

  6. Дмитрий Буто

    Дмитрий Буто New Member Пользователи

    Регистрация:
    3 янв 2014
    Сообщения:
    44
    Сделал. Итог одно значение парсится ок, второе просто ссылка , и так в шахматном порядке Приложил проект последний
     

    Вложения:

  7. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Открываем и просто сказать нечего.
    1) Зачем вы оставили [VALUE]
    2) Идем вот сбда и читаем красный текст Ссылки недоступны для гостей это касается всех повторяющихся границ
    3) Я вам предложил способ, вы его проигнорили. Замените данные в <CD_CYCLE_GRAN_2!> на вот это
    Код:
    [REPLACE(re:^(.*?)-(\d+)\.html$|$2{break}re:^(\d{1})(\d{3})(\d{3})(\d{1})$|$1.$2-$3.$4)][VALUE][/REPLACE]
    И в шаблон вывести просто<CD_CYCLE_GRAN_2!>
     

    Вложения:

    Дмитрий Буто и Root нравится это.
  8. Дмитрий Буто

    Дмитрий Буто New Member Пользователи

    Регистрация:
    3 янв 2014
    Сообщения:
    44
    Добрый день. Спасибо огромное за ответ. Хотя не все понятно. Начну с конца. про пункт 3 Я не игнорю,я данный метод я тоже применял, просто решил все же решить чисто ради интереса по артикулу , потому что данный метод буду применять на другие сайты. А так метод работает, отлично!
    2 пункт , да конечно я читал данный пункт еще в 2014 году) не могли бы вы пояснить, где я там накосячил ,макрос этот использовал для результрующего значения (по другому тут сложно вывести [ONELINE2:<br>][REPLACE(re:(.{1})$|{break}{sep}{sep}|{sep})]<CD_CYCLE_GRAN_1!>[GENERATE][FROM]01[/FROM][TO]<CD_GRAN_19!>[/TO][INC]1[/INC][SEP]|[/SEP]<NIMG><CD_GRAN_20!>[VARIABLE].jpg</NIMG>:<CD_GRAN_1!>|[/GENERATE][/REPLACE][/ONELINE2] ) , а если вы про колонку 17 , то это баговый тестовый вариант) забыл удалить. Нужно значение было в колонке 24 files.
    1 пункт. Вижу , мой косяк, неуследил. Все стало на свои места) Прилодил готовый проект и плюсанул !Спасибо за отзывчивость!
     

    Вложения:

    Kreol нравится это.
  9. Kreol

    Kreol Модератор Команда форума Модератор

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    Дам пару советов.
    1) Все элементы парсинга лучше тестировать отдельно, не в общей массе шаблона. Иначе могут возникать именно такие ситуации как где-то забыли что-то удалить, а где-то форматирование не то.
    2) старайтесь избегать случаев обертывания повторяющихся границ макросами (это используется лишь в очень редких случаях)
     
    Root нравится это.

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