1. Вступайте в наш Telegram чат: https://t.me/a_parser Нас уже 2600+ и мы растем!
    Скрыть объявление

отработанные запросы и замена регулярки на string

Тема в разделе "Техническая поддержка", создана пользователем DeLaKroiX, 20 фев 2016.

  1. DeLaKroiX

    DeLaKroiX A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    25 дек 2015
    Сообщения:
    267
    Симпатии:
    96
    здесь вот мне был дан ответ, что обработанные запросы можно записывать в отдельный файл. я попробовал так, как там сказано, но в оба файла пишется один и тот же результат, к которому применён фильтр из условий задания. как мне сделать так, чтобы писались все отработанные запросы в отдельный файл ? вот задание:
    [​IMG]

    и ещё, у меня получается километровая регулярка вида "код1|код2|код3" без кавычек для проверки наличия определённых кусков кода в контенте (куски кода без переносов). пробовал заменить regex match на contain string с разделителем "|" между кусками кода, которые надо найти, но не работает. дело в том, что проверка регуляркой жрёт проц просто неимоверно, и невозможно запустить более 50-100 потоков на i7-проце, в то время как проверка строками (сори, не знаю, как это правильно называется), кушает всего процентов 10 проца в 500 потоков.. тестил с помощью другого распространённого софта, хоть он и не для этого предназначен, вобщем там условия поиска задаются построчно и в контенте ищется то, что в каждой строке указано. вот хотелось бы как-то уточнить, как с помощью апарсера такое реализовать.
     
  2. Forbidden

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

    Регистрация:
    9 мар 2013
    Сообщения:
    3.337
    Симпатии:
    1.795
    при использовании фильтра - никак, все отфильтрованные результаты больше не участвуют в обработке

    для этой задачи лучше подойдет парсер Rank::CMS Rank::CMS со своей базой files/Rank-CMS/apps.json, т.е. формируем базу под условия задачи и используем ее. бонусом будет обработка на нескольких ядрах
     
  3. DeLaKroiX

    DeLaKroiX A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    25 дек 2015
    Сообщения:
    267
    Симпатии:
    96
    это печалька, потому что миллионные базы сложно обрабатывать "в 1 присест" апарсером и часто бывает необходимо чистить от отработанных запросов базу...
    тоесть можно внести все условия из регулярки в базу apps.json в качестве какой-нибудь отдельной cms и потом просто юзать парсер Rank::CMS Rank::CMS для поиска этой cms и оно будет искать мои куски кода, так ?
     
  4. DeLaKroiX

    DeLaKroiX A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    25 дек 2015
    Сообщения:
    267
    Симпатии:
    96
    вобщем добавил в качестве новой cms нужные признаки - просто пишет все линки вместо того, чтобы только нужные записывать. не знаю даже почему. сделал вот так:
    "здесь название": {
    "website": "здесь левый сайт",
    "cats": [ 42 ],
    "html": "здесь признаки разделённые знаком | , экранировал двойные кавычки и точку вот так \" и \\. соответственно"
    },

    также пробовал в net::http выставлять фильтр contain string и разделять признаки вертикальной чертой - вообще ничего не находит, я так понимаю, что с несколькими кусками, разделёнными вертикальной чертой, contain string не работает...

    я уже писал по этому поводу вот здесь, но там послали вот сюда, где у человека совсем другие задачи, у него нашлось другое решение и тема себя исчерпала.

    мне почему-то кажется, что невозможность использования либо логического выражения ИЛИ при нескольких условиях contain/not contain string, либо вертикальной черты в одной строке с нужными признаками строк (и как следствие этого - использование костылей в виде rank::cms или тяжёлых регулярок) - это неправильно. вот всё в апарсере есть, а вот этого нету...
     
    #4 DeLaKroiX, 20 фев 2016
    Последнее редактирование: 20 фев 2016

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