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

Делимся регулярками

Тема в разделе "Делимся опытом", создана пользователем 7make, 30 май 2013.

  1. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.547
    Симпатии:
    2.164
    Для парсинга регулярным выражением нужно воспользоваться функцией Parse custom result: https://a-parser.com/wiki/parse-custom-result/
    Указываете регулярное выражение и переменные, в которых будет храниться то, что возвращает регулярка. А в формате результата указываете эти переменные в том виде, в котором нужно их выводить.
    На форуме есть множество примеров, также есть пример в описании Parse custom result.
    Вот пример под вашу задачу (регулярка написана для примера, на практике может быть другая):
    [​IMG]
     
    senirock нравится это.
  2. senirock

    senirock A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    11 дек 2016
    Сообщения:
    16
    Симпатии:
    1
    Большое спасибо
     
    Support нравится это.
  3. senirock

    senirock A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    11 дек 2016
    Сообщения:
    16
    Симпатии:
    1
    http://prntscr.com/ebwuhm вот такое парсит, остальные почты не берет
     
  4. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.547
    Симпатии:
    2.164
    Значит неправильная регулярка или ошибки в задании.
     
  5. senirock

    senirock A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    11 дек 2016
    Сообщения:
    16
    Симпатии:
    1
    по крайней мере регулярка работает в notepad и emeditor
     
  6. seowin555

    seowin555 A-Parser Pro License
    A-Parser Pro

    Регистрация:
    29 сен 2016
    Сообщения:
    187
    Симпатии:
    37
    Приветствую!
    А может быть все-таки рассмотрите возможность быть конструктору регулярок в А-парсере?
    Или ответ категорически-нет?
    Например, я сам постоянно сталкиваюсь с задачами, которые без регулярок, к сожалению, никак не решить, по причине того, что мне сложно составить регулярку, иду и делаю проект на зенке, хотя сам понимаю, что на А-парсере скорость будет на порядок выше и будет стабильнее работа.
    Пример 2, я общаюсь со многими сеошниками и дорвейщиками и постоянно рекомендую им А-парсер, так как сам им очень доволен и решаю многие задачи с помощью него, но как я понимаю из общения с ними, почти у всех есть проблема с регулярками.
    Понятно, что навороченную регулярку не составить в конструкторе, но хотя бы простейшие ведь можно составлять?
    По крайней мере, конструтор на зенке с простыми регулярками меня не подводил.
     
    vadim4uk, AndreyD, vipdenya и ещё 1-му нравится это.
  7. Dodgy

    Dodgy A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    14 сен 2012
    Сообщения:
    65
    Симпатии:
    4
    Поддерживаю.
     
  8. vipdenya

    vipdenya A-Parser Pro License
    A-Parser Pro

    Регистрация:
    25 июл 2014
    Сообщения:
    57
    Симпатии:
    9
    И я поддерживаю - давно предлагал.
     
  9. vadim4uk

    vadim4uk A-Parser Pro License
    A-Parser Pro

    Регистрация:
    12 май 2017
    Сообщения:
    32
    Симпатии:
    4
    Я за:) это будет хорошим дополнением, так как для многих начинающих апарсер кажется сложным, а с таким дополнением для новичков будет более "френдли"
     
  10. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.547
    Симпатии:
    2.164
    AndreyD, vipdenya и vadim4uk нравится это.
  11. aquatell

    aquatell A-Parser Pro License
    A-Parser Pro

    Регистрация:
    8 ноя 2012
    Сообщения:
    150
    Симпатии:
    43
    А новички не хотят научиться сами и почитать книженцию?
    Бен Форта — Регулярные выражения. 10 минут на урок
    Ни один конструктор не сделает регулярку круче чем ее руками сам составишь.
    После прочтения этой книги я уже сам начал составлять регулярки в первый же день, читается на одном дыхании, а когда вы закончите ее читать вас будет переполнять драйв вам захочется парсить все что шевелится и не шевелится ))
    Вы можете за один день уже научится работать с регулярными выражениями, эта книга основа-основ.
    Ниже под спойлером находится шпаргалка она вам пригодится, ее можно распечатать для удобства.
    [​IMG]
    Дальше чем больше будете составлять регулярки самостоятельно, тем круче и виртуознее они будут у вас получаться, поверьте на слово это очень увлекательное занятие.
     
    #71 aquatell, 27 сен 2017
    Последнее редактирование: 27 сен 2017
    kaznokrad, ZogSystem, Forbidden и ещё 1-му нравится это.
  12. vadim4uk

    vadim4uk A-Parser Pro License
    A-Parser Pro

    Регистрация:
    12 май 2017
    Сообщения:
    32
    Симпатии:
    4
    Книжечка полезная, сам читаю, но у разработчиков есть еще ж наверное заинтересованость в продаже своего продукта...
     
    aquatell нравится это.
  13. aquatell

    aquatell A-Parser Pro License
    A-Parser Pro

    Регистрация:
    8 ноя 2012
    Сообщения:
    150
    Симпатии:
    43
    Автор книги весьма широко известен в мире IT-шников, кто осилит прочесть книгу Бен Форта и захочет погрузиться еще глубже в изучение мира регулярных выражений есть еще одна книга "Джеффри Фридл - Регулярные выражения", но бы не рекомендовал ее изучать с нуля, она сложноватая для новичка - в своем роде это лучшее что я встречал.
     
    #73 aquatell, 27 сен 2017
    Последнее редактирование: 27 сен 2017
  14. Support

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

    Регистрация:
    16 мар 2012
    Сообщения:
    4.547
    Симпатии:
    2.164
    О, когда-то читал ее... Но так и не осилил до конца)
     
  15. johnsmith

    johnsmith A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    13 мар 2013
    Сообщения:
    63
    Симпатии:
    31
  16. Andy.B

    Andy.B A-Parser Pro License
    A-Parser Pro

    Регистрация:
    3 мар 2017
    Сообщения:
    7
    Симпатии:
    0
    Добрый день!
    Подскажите, как правильно составить регулярку. Использую конструктор запросов, необходимо запрос $query преобразовать в http://адрес сайта/первая буква $query/$query . Кроме того, первую букву в итоговом запросе следует сделать заглавной. В качестве $query - однословники.
    Буду признателен за любой совет.
     
  17. Support Денис

    Support Денис A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    12 июн 2017
    Сообщения:
    586
    Симпатии:
    185
    Здравствуйте. Уточните пожалуйста, на примере .
     
  18. Andy.B

    Andy.B A-Parser Pro License
    A-Parser Pro

    Регистрация:
    3 мар 2017
    Сообщения:
    7
    Симпатии:
    0
    Есть сайт. мне необходимо спарсить контент со страниц http://domain.com/W/word (или так http://domain.com/B/bord, или так http://domain.com/D/dord и т.п.). В качестве запросов ($query) использую перечень слов word, bord, dord. Мне надо через конструктор запросов из $query получить переменную (допустим $xyz), которая будет равняться первой букве слова из запроса (в данном примере word, bord, dord) и при этом должна быть заглавной, что бы в формате запроса можно было указать http://domain.com/$xyz/$query. Таким образом в запросе я буду указывать перечень слов, а на выходе получать контент страниц http://domain.com/заглавная первая буква слова/слово. Как-то так.
     
  19. Support Денис

    Support Денис A-Parser Enterprise License
    A-Parser Enterprise

    Регистрация:
    12 июн 2017
    Сообщения:
    586
    Симпатии:
    185
    Попробуйте так

    [​IMG]
     
  20. Andy.B

    Andy.B A-Parser Pro License
    A-Parser Pro

    Регистрация:
    3 мар 2017
    Сообщения:
    7
    Симпатии:
    0
    Денис, спасибо! Именно то, что нужно! Я пресет так и писал, только не знал как регулярку указать. Еще раз спасибо! + Вам в карму
     

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