Крашится a-parser, если попадаются мусорные страницы с большим кол-вом текста, пример: https://sites.google.com/a/q.tapdoa...schwarz-thermostat-massage-wellness---mistral Как этого избежать?
Добрый день. Т.к. на указанном сайте есть очень длинное предложения без пунктуации, то скорее всего это и есть причиной падений. Как вариант, попробуйте добавить верхнее ограничение по кол-ву слов, например, до 40 слов: Код: (\b[A-ZА-Я](?:\w+[,;:]? ){3,40}\w{2,}[.!?])
Здравствуйте. Дайте ссылку на сайт и укажите перед каким текстом искать тег div, указать желательно скриншотом.
ребят помогите в регулярках не силён, пробовал в конструкторе и не допонял. как обозначить вложенность тегов в парсинге, допустим есть: Код: <h2> <img src="url.com/1.jpg"> <a href="url.com"/>То что нужно</a> </h2> Как мне выпарсить анкор ссылки, указав что именно в h2 собирать? Заранее спасибо)
Ага спасибо, эт понял. в конструкторе всё собирает. Но как дело в проекте доходит) ничё не получается вот такие настройки https://clip2net.com/s/3Ysct8l
Для парсинга данных регулярными выражениями лучше использовать Parse custom result (Использовать регулярку). Если вы собираете данные в массив, то его нужно выводить через .format. Т.е. в данном случае Код: $as.format('$a\n') Детальнее о методе .format: http://a-parser.com/wiki/template-toolkit/#Метод-format-для-массивов Также рекомендую ознакомиться с такими статьями Документации: http://a-parser.com/wiki/results-representation/#Массивы-результатов https://a-parser.com/wiki/result-format/
Все привет! Парни, помогите составить такую регулярку. Имеем: Мама мыла раму|Чисто чисто|Рама стала чистой папа не мыл раму| Папа мыл раму|Чисто чисто|Рама стала чистой мама не мыла раму| Жена мыла раму влажной губкой|Чисто чисто|Рама стала чистой мама и папа не мыли раму| Нужно сделать проверку на наличие слов ДО первого разделителя | К примеру нам нужно оставить строки где есть слово папа или влажной, соответственно сработает только на втором и третьем примере. Искомые слова, могут быть в любом месте предложения (Мыл папа раму, Мыл раму папа и так далее), главное это поиск в предложении был ДО первого символа разделителя |
Нужно спарсить все value непрочитанных писем от [email protected] Вот кусок кода в котором фигурирует два непрочитанных письма, одно из которых от [email protected], а другое нам не нужно. Я использую такую регулярку (попробуйте) messageline_unread[\S\s]+?value="(.*?)"[\S\s]+?mailer-daemon Но эта регулярка ищет первый value, а мне нужно самое короткое совпадение. Помогите пожалуйста найти самое короткое совпадение. Код: <tr id="msg_15758943780799221044_item" class="js-messageline messageline messageline_unread"> <td class="messageline__box messageline__box_left"> <label class="messageline__label" for="msg_15758943780799221044"> <input type="checkbox" id="msg_15758943780799221044" name="id" value="15758943780799221044" class="js-messageline-checkbox" /> </label> </td> <td class="messageline__box"> <a class="messageline__link" href="/message/15758943780799221044"> <span class="messageline__from"> <img src="https://img.imgsmail.ru/r/m_img/[email protected]" alt="" width="8" height="8" /> Почта Mail.ru </span> <span class="messageline__subject"> Вход с нового устройства в аккаунт </span> </a> </td> <td class="messageline__box messageline__box_right"> <div class="js-messageline-rightcol messageline__actions"> <a class="messageline__flag icon icon_message-flag js-flag" href="/cgi-bin/movemsg?form_sign=5c986384c7882115d314b703c13129ef&form_token=447966007f034c7a1901510e0105020d0657040b0d0b060400520700005006090354000a080a085557165858435459445e&id=15758943780799221044&mark=1&markmessage=6"></a> <span class="messageline__date">15:26</span> </div> <a class="js-messageline-scroller messageline__scroller" href="#btoolbar"></a> </td> </tr> <tr id="msg_15752166650211077108_item" class="js-messageline messageline messageline_unread"> <td class="messageline__box messageline__box_left"> <label class="messageline__label" for="msg_15752166650211077108"> <input type="checkbox" id="msg_15752166650211077108" name="id" value="15752166650211077108" class="js-messageline-checkbox" /> </label> </td> <td class="messageline__box"> <a class="messageline__link" href="/message/15752166650211077108"> <span class="messageline__from"> <img src="https://img.imgsmail.ru/r/m_img/[email protected]" alt="" width="8" height="8" /> [email protected] </span> <span class="messageline__subject"> Ваше сообщение не доставлено. Mail failure. </span> </a> </td>
Удобнее это делать несколькими простыми регулярками. Сначала разбиваете на блоки <tr>...</tr>, а потом перебираете в цикле каждый блок, забирая с каждого отправителя, статус и value. Если отправитель и статус соответствуют искомым, то выводите value
если длинный title и многострочный, то регуляркой [\n\r]+ через конструктор результатов title будет в одну строку
Всем привет) или я туплю или не понимаю, в общем нужно получать в результате линки вида http:// и https:// , не доменом, я делал как-то через regexp, подскажите кому не сложно, чё-то башка не варит, а надо ...