1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2200+ и мы растем!
    Скрыть объявление

Парсер JS::TextFromSE 1.3.0

Парсинг текстовки по ключу одним заданием

  1. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    3.531
    Симпатии:
    1.880
  2. shmell

    shmell A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    20 май 2015
    Сообщения:
    27
    Симпатии:
    8
    А можно здесь
    перед сбором массива в строку обработать его регулярками?
    response.texts.forEach(); и по всем элементам пройтись как-то регуляркой.
    Подскажите если можно и как несколькими последовательно.
     
  3. Support Alexander

    Support Alexander Moderator
    Команда форума A-Parser Enterprise

    Регистрация:
    27 сен 2019
    Сообщения:
    80
    Симпатии:
    35
    Можно, для перебора массива используйте map.
    Код:
    let newTexts = response.texts.map(elem => {
        return elem.match(/.../)[1].replace(/.../, '...').replace(/.../, '...');  // обработка регулярками
    });
    results.text = newTexts.join("\n");
    
     
    shmell нравится это.
  4. shmell

    shmell A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    20 май 2015
    Сообщения:
    27
    Симпатии:
    8
    elem.match(/.../)[1] а тут я так понимаю он будет на что-то проверять, или это и есть все что угодно?
    Почему-то не заводится=(
    И
    replace(/.../
    в кавычки брать не надо?
    replace("/.../"
     
  5. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    3.531
    Симпатии:
    1.880
    .match .replace - это функции JavaScript, о них вы можете более детально почитать на соответствующих ресурсах, например тут. Они показаны для примера, а троеточие тоже указывает на то, что вы можете там написать любые регулярки и данные.
    Пример выше демонстрирует как перебрать блоки в цикле, сделать с ними какие-то действия, сформировать новый массив и вывести в виде одной строки. Т.е. то, о чем вы спрашивали выше.
     
  6. shmell

    shmell A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    20 май 2015
    Сообщения:
    27
    Симпатии:
    8
    Я наверно неправильно спросил

    меня устроит без предварительной проверки на вхождение, а безусловный replace вполне подойдет.
    Спасибо.
     
  7. catolseo

    catolseo New Member

    Регистрация:
    24 янв 2018
    Сообщения:
    2
    Симпатии:
    0
    Этот парсер актуален? А то переопределения, как указано в инструкции вообще не отображаются.
     
  8. kaznokrad

    kaznokrad A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    14 июн 2014
    Сообщения:
    39
    Симпатии:
    5
    Парсер что то криво стал работать, пришлось заменить Google Modern на Google, чистка текста по regex не работает, через ResultBuilder регекс
    (\b[A-Z](?:[\w,;:’&'"-\\$]+? ){3,}\w{2,}[.!?]) или (\b[A-ZА-Я](?:\w+[,;:&’'-]? ){3,}\w{3,}[.!?:]) или (\b[A-ZА-Я](?:[,;:-—’()\w]+? ){3,}\w{2,}[.!?])

    Регексы отрабатывают отлично https://regex101.com/r/CzCK3E/2 но на выходе мусор

    [​IMG]
     
  9. Support

    Support Administrator
    Команда форума A-Parser Enterprise

    Регистрация:
    16 мар 2012
    Сообщения:
    3.531
    Симпатии:
    1.880
    SE::Google::Modern и SE::Google - уже довольно давно один и тот же парсер и никак не отличаются. Поэтому замена одного на другой никак не может влиять на работу данного парсера.
    Данный парсер никак не может сломаться или начать как-то не так работать со временем. Он всего лишь объединяет два стандартных парсера, передавая результаты одного на вход другому.
    На скриншоте видно, что вы Конструктором результатов из переменной $text пытаетесь извлечь данные в массив $text. В этом заключается первая ошибка, массив лучше назвать как-то иначе. И в результат вы выводите переменную $text, а не новый массив - это вторая ошибка.
     

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