Задание повторяющихся границ парсинга в определенной части кода WEB-документа

Тема в разделе "Границы парсинга", создана пользователем Constantine, 14 ноя 2018.

  1. Constantine

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

    Регистрация:
    8 ноя 2018
    Сообщения:
    25
    Добрый день. Подскажите может есть вариант как достать часть текста из ячейки.

    Есть допустим спарсенный код (см. фото). Хочу разбить буллеты по разным ячейкам. Надо вытянуть из дескрипшна буллет, если они есть (условием что они есть является наличие Features в тексте) . Можно ли это как-то сделать макросом?
     

    Вложения:

    • 3.png
      3.png
      Размер файла:
      58,3 КБ
      Просмотров:
      10
  2. Root

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

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

    Ссылки недоступны для гостей
     
  3. Constantine

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

    Регистрация:
    8 ноя 2018
    Сообщения:
    25
    Спасибо, но здесь ситуация немного сложнее. Дескрипшн парсится через <GETMORECONTENT> по другой ссылке и соответственно у меня не получается выбрать часть кода. Поэтому я и спрашиваю, есть ли возможность задать границу парсинга из ячейки, куда уже спарсен дискрипшн?
    Сам дискрипшн выглядит примерно так:

    [FINAL_REPLACE(</div>|)]<GETMORECONTENT><URL="Ссылки недоступны для гостей"><START="<div id={"}publishDescription{"}>"><STARTCOUNT="0"><END="<!--end of bigpic-->"><ENDCOUNT="0"><PARAMS=""></GETMORECONTENT>[/FINAL_REPLACE]
     
  4. Root

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

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Убрать лишние куски кода Ссылки недоступны для гостей
    Затем вытащить нужное с помощью {multiget} Ссылки недоступны для гостей
     
    Constantine нравится это.
  5. Constantine

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

    Регистрация:
    8 ноя 2018
    Сообщения:
    25
    Спасибо, сработал multiget. Получился список, как теперь из списка можно в ячейку добавить например только вторую строку?

    Код:
    feature{get}<p>|{get}
    ">{get}<br>|{multiget}
    <{skip}>|

    Результат:
    - Capacity: 1,200 lbs / (per pair)
    - Arched design for better clearance
    - Serrated crossbars allow for great traction
    - Safety straps included
     
  6. Kreol

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

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    например дописать ниже поиск/замены
    Код:
    {br}|###
    re:^(.*?)###(.*?)###(.*?)$|$2
     
    Constantine нравится это.
  7. Constantine

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

    Регистрация:
    8 ноя 2018
    Сообщения:
    25
    Работает, большое спасибо!) Надо будет разобраться с этим модификатором re:
     
  8. Constantine

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

    Регистрация:
    8 ноя 2018
    Сообщения:
    25
    Есть еще один вопрос.
    Код привязан к feature, но иногда на листинге бывает featureS. Можно ли как-то поставить условие, чтобы брало и feature и features?
    feature{get}<p>|{get}
    ">{get}<br>|{multiget}
    <{skip}>|
     
  9. inotoxic

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

    Регистрация:
    13 сен 2015
    Сообщения:
    868
    Как вариант, поставить в самое начало поиска и замены выражение
    features|feature
     
    Root, Constantine и Kreol нравится это.
  10. Kreol

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

    Регистрация:
    6 янв 2013
    Сообщения:
    2.666
    гениально
    Код:
    featureS|feature
     
    Root нравится это.
  11. Constantine

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

    Регистрация:
    8 ноя 2018
    Сообщения:
    25
    Блин, ну я и тупой, спасибо!
     

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