{multiget} для повторяющихся границ WebappCEF

Тема в разделе "Границы парсинга", создана пользователем Upi, 10 сен 2019.

  1. Upi

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

    Регистрация:
    8 май 2014
    Сообщения:
    31
    Хочу поиском-заменой брать только нужное для [GETHTML], дабы не раздувать лишними символами.

    Выглядят значения так.
    Код:
    [GETHTML]:[0]"firstName":"|||[0]"
    [GETHTML]:[0]"fullName":"|||[0]"
    [GETHTML]:[0]"currentPositions":[{"tenureAtPosition":{skip}","title":"|||[0]","
    [GETHTML]:[0]"currentPositions":{skip}"companyName":"|||[0]"
    [GETHTML]:[0]"geoRegion":"|||[0]"
    Но они собирают только первое значение и все. Этот вариант не подходит, поэтому решаю вопрос надо решать через {multiget}. Было бы не дурно указать так, но {multiget} отрабатывает только один.
    Я так понимаю поиск-замены для IE и CEF работаю чуть по разному. Можете подказать как можно вытащить данные. Так как через инструкцию в WIKI про {multiget}, [REPLACE] у меня не отработал.

    Код:
    "firstName":"{get}"|{multiget}
    "fullName":"{get}"|{multiget}
    "currentPositions":[{"tenureAtPosition":{skip}","title":"{get}"|{multiget}
    "currentPositions":{skip}"companyName":"{get}"|{multiget}
    "geoRegion":"{get}"|{multiget}
     
  2. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.429
    Адрес:
    Latvia
    Код:
    "firstName":"{get}"|{multiget}
    "fullName":"{get}"|{multiget}
    "currentPositions":[{"tenureAtPosition":{skip}","title":"{get}"|{multiget}
    "currentPositions":{skip}"companyName":"{get}"|{multiget}
    "geoRegion":"{get}"|{multiget}
    get первый как отработает то больше ничего лишнего не остается.
    Получается что "firstName":"{get}"|{multiget} сработает, а следующие нет.
     
    Root нравится это.
  3. Upi

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

    Регистрация:
    8 май 2014
    Сообщения:
    31
    Это я понимаю, дошел опытным путем.

    Сделал так, это работает, но по мне слишком много мусора, и долго искал что лишнее. Возможно ли как-то оптимизировать на будущее. с 600к символов в 6к сжался.
    Код:
    <code style="display: none" id="bpr-guid-{skip}">{get}</code>|{multiget}
    },{|},{br}{
    "elements":[{get}|{get}
    "entityUrn":"urn:li:fs_salesProfile:{skip}"fullName"|"fullName"
    //{"tenureAtPosition"{skip}"fullName"|"fullName"
    {"width"{skip}}},|
    }},{br}{"tenureAtPosition"{skip}"firstName"|"firstName"
    "objectUrn"{skip}"geoRegion"|"geoRegion"
    "crmStatus":{skip}"currentPositions"|"currentPositions"
    "companyUrn"{skip}"fullName"|"fullName"
    [{"tenureAtPosition"{skip}"companyName"|"companyName"
    "listCount":0,|
    ,"facePiles":[{"artifacts":[|},
     
    Root нравится это.
  4. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.429
    Адрес:
    Latvia
    В повторяющихся границах используете внутри границы простые?
    Ссылки недоступны для гостей - справка
     
    Upi нравится это.
  5. Upi

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

    Регистрация:
    8 май 2014
    Сообщения:
    31
    Использовал просто 5 повторяющихся границ.
    Переделал на простых внутри повторяющиеся, стало проще. Ну и разобрался с поиском заменой, сильно укоротил код. Спасибо.
     
    kagorec нравится это.

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