Ищу профи по регулярным выражениям

deksi

Пользователь
Регистрация
20.08.2015
Сообщения
37
Благодарностей
1
Баллы
8
Такой вопрос, у меня например есть html страница и я хочу с нее спарсить данные, но не все. Как составить регулярное выражение чтоб указать например разрешенные теги и на выходе получить нужны мне текст?
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 333
Благодарностей
5 431
Баллы
113
Конкретики мало. Дайте код, и пример того, что нужно выпарсить. В конструкторе не получилось?
 

zortexx

Client
Регистрация
19.09.2011
Сообщения
2 520
Благодарностей
1 223
Баллы
113
Для самообучения читайте конкурсные статьи.
Для полученения быстрого результата - ставьте четкие задачи с примерами.

Отвечая на ваш вопрос: необходимо составить регулярное выражение таким образом, чтобы оно учитывало разрешенные теги и необходимый текст.
 

deksi

Пользователь
Регистрация
20.08.2015
Сообщения
37
Благодарностей
1
Баллы
8
Конкретики мало. Дайте код, и пример того, что нужно выпарсить. В конструкторе не получилось?
В том то и дело что мне нужно парсить данные не с конкретного сайта, а с разных вот например код мне с него нужно спарсить все что с тегами <h2>, <p>, <img> как это сделать?
Код:
 <div class="body news"><p>Для большинства людей автомобиль по прежнему, как и во времена Генри Форда, служит средством передвижения. Однако есть определенный класс покупателей, для которых важен статусный уровень всех вещей, которыми они обладают. И среди зримых символов финансового могущества не последнее место занимает машина. Именно по ней судят о богатстве, успешности и влиянии той или иной персоны, ведь она всегда на виду. Технические параметры, конечно же, тоже играют очень важную роль, уж если за автомобиль платятся сотни тысяч, то траты должны быть чем-то оправданы. Интерьер также просто обязан быть безупречным. Ниже приведен своеобразный топ-список самых престижных машин, предлагаемых тем, для кого представительские функции имеют первоочередное значение, а цена, исчисляемая шестизначными суммами, кажется вполне доступной.</p><div class="text-ad-block"><div class="tb tb-paired"><div class="teaser" id="t3776">   <a href="/post/medicine/2015/9/30/2086">       <img src="/media/i/1/2/5/4/0/i/12540_100x100.jpg"/>       <span>Девочка из Гонконга родилась беременной близнецами</span></a></div>
<div class="teaser" id="t8580">   <a href="/post/literature/2015/11/27/2965">       <img src="/media/i/1/8/8/9/2/i/18892_100x100.jpg"/>       <span>11 цитат от Будды, которые облегчат вашу душу</span></a></div>
<div class="teaser" id="t9602">   <a href="/post/nature/2015/12/15/3238">       <img src="/media/i/2/1/8/2/7/i/21827_100x100.jpg"/>       <span>Это зрелище не для слабонервных</span></a></div></div><div class="gb"><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle" style="display:inline-block;width:336px;height:280px" data-ad-client="ca-pub-0498930789498528" data-ad-slot="2451274660"></ins>
<script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div></div><p><img itemprop="image" alt="двигатель" class="ide" src="http://fb.ru/media/i/1/5/6/8/0/i/15680_700x360.jpg" /></p><h2>"Мазератти GranTurismo S"</h2><p>Модель GT с кузовом купе запущена в производство в 2007-м, а через три года знаменитая итальянская фирма предложила еще более привлекательный (и дорогой) вариант кабриолета. В 2014 году представители компании объявили, что выпуск этой модели завершен. Этот &laquo;зверь&raquo; оснащен 4,7-литровым двигателем V8 (434 л.с.), что впечатляет, если учитывать вес автомобиля (1,8 тонны). Ощущения водителя трудно описать словами, поэтому всем перспективным покупателям предлагается тестдрайв, если, конечно, они могут заплатить $ 150 тыс.</p><p><img itemprop="image" alt="автомобиль" class="ide" src="http://fb.ru/media/i/1/5/6/8/9/i/15689_700x360.jpg" /></p><h2>"Порше 918 Spyder"</h2><p>Этот гибрид имеет 4,6-литровый двигатель плюс 2 электромотора. Мощность этой энергоустановки составляет 887 л. с. (608 карбюраторного и 279 двух электрических двигателей). Емкости аккумуляторной батареи хватает примерно на 12 миль. Еще одно новшество обеспечивает сверхманевренность: все четыре колеса поворачиваются. Цена - примерно 848 тыс. Модель производится ограниченной серией.</p><p><img itemprop="image" alt="модель" class="ide" src="http://fb.ru/media/i/1/5/6/8/5/i/15685_700x360.jpg" /></p><h2>"Шевроле Corvette ZR1 С6" &ndash; &laquo;Блю девил&raquo;</h2><p>Это автомобиль оснащен двигателем, развивающим мощность 638 л.с. при скорости вращения 6,5 тыс. об/мин. Автомобиль разгоняется до 205 миль в час. Предусмотрена магнитная двухпозиционная система выбора режима езды (прогулочный и спортивный). Этот автомобиль довольно легкий (1,5 тонны), выдержан он в спортивном стиле, но в то же время выглядит элегантно и стильно. Прибрести &laquo;Голубого дьявола&raquo; можно за 112 &ndash; 130 тысяч долларов США (в зависимости от комплектации и опций).</p><div class="text-ad-block"><div class="tb tbline"><div class="teaser" id="t10013">   <a href="/post/elderly-care/2015/12/24/3392">       <img src="/media/i/2/3/5/8/8/i/23588_100x100.jpg"/>       <span>О чем лучше не говорить с женой сына?</span></a></div>
<div class="teaser" id="t4314">   <a href="/post/celebrities/2015/10/8/2221">       <img src="/media/i/1/3/6/0/6/i/13606_100x100.jpg"/>       <span>Узнаете эту красотку без макияжа?</span></a></div>
<div class="teaser" id="t8926">   <a href="/post/womens-health/2015/12/3/3064">       <img src="/media/i/1/9/7/5/1/i/19751_100x100.jpg"/>       <span>Признаки рака шейки матки, о которых должна знать женщина</span></a></div></div></div><p><img itemprop="image" alt="двигатель" class="ide" src="http://fb.ru/media/i/1/5/6/8/6/i/15686_700x360.jpg" /></p><h2>"Бентли Mulsanne"</h2><p>Учитывая двойной турбонаддув 6,75-литрового восьмицилиндрового двигателя, эта машина действительно впечатляет. "Бентли" с задним приводом и таким мотором больше нет. Несмотря на внушительный вес (2,6 т), управляется автомобиль легко, идет по шоссе быстро, и достигает скорости в 60 миль/ час за 4,9 сек. Много десятилетий марка &laquo;Бентли&raquo; была символом статуса и класса. Если кто-то ищет по-настоящему роскошный автомобиль, то это он, и стоит $ 306 тыс.</p><p><img itemprop="image" alt="автомобиль" class="ide" src="http://fb.ru/media/i/1/5/6/8/7/i/15687_700x360.jpg" /></p><h2>"Астон-Мартин Rapide"</h2><p>Двенадцатицилиндровый двигатель с рабочим объемом 5,9 литров - лишь одна деталь среди многих, описывающих этот четырехдверный хэтчбек. 470 &laquo;лошадей&raquo; способны разгонять &laquo;Рапид&raquo; до 60 миль в час за 5 секунд. Мощность достаточна даже для тех, кто на ней помешан. Этот Астон-Мартин поставляется с автоматической шестиступенчатой коробкой передач. Интерьер впечатляет не меньше внешнего вида: сиденья с &laquo;памятью&raquo;, нагревом и охлаждением, ореховая отделка, кожаная обивка и звуковая система высочайшего качества. Это не просто высококачественный автомобиль, он удивительный, и даже слишком. Стоит &laquo;Рапид&raquo; $ 201 тыс.</p><div class="text-ad-block"><div class="tb tbline"><div class="teaser" id="t6698">   <a href="/post/tea/2015/10/24/2453">       <img src="/media/i/1/5/2/6/3/i/15263_100x100.jpg"/>       <span>Любите зеленый чай? Рискуете здоровьем!</span></a></div>
<div class="teaser" id="t4642">   <a href="/post/motivational/2015/10/16/2353">       <img src="/media/i/1/4/5/9/4/i/14594_100x100.jpg"/>       <span>10 уроков от Будды, призванные изменить вашу жизнь</span></a></div>
<div class="teaser" id="t133">   <a href="/post/motivational/2015/6/29/136">       <img src="/media/i/5/0/2/i/502_100x100.jpg"/>       <span>О каких упущенных возможностях говорят люди перед смертью</span></a></div></div></div><p><img itemprop="image" alt="модель" class="ide" src="http://fb.ru/media/i/1/5/6/8/3/i/15683_700x360.jpg" /></p><h2>"Феррари 458"</h2><p>Предполагалось, что эта машина заменит модель 430, но она получилась совсем другой. Лучшей. Намного лучшей. Довольно мощный автомобиль, с 4,5-литровым восьмицилиндровым двигателем достигает скорости 62 мили/час 3,3 секунды. За рулем этой легкой машины (ее вес 1,4 тонны) можно ощутить чувство полета. Попытки описать внешний вид будут пустой тратой времени. Это красивая вещь может найти своего хозяина, если он заплатит $ 237 тыс.</p><p><img itemprop="image" alt="двигатель" class="ide" src="http://fb.ru/media/i/1/5/6/8/1/i/15681_700x360.jpg" /></p><h2>"Ламборгини Aventador"</h2><p>Для автомобиля весом всего полторы тонны &laquo;Авендатор&raquo; кажется потрясающе мощным. Двенадцатицилиндровый двигатель запросто разгоняет Ламборгини до 60 миль в час за 2,9 секунды, скорость максимальная - 217 км/ч. Объявлено, что модель LP 700-4 производится лимитировано, в количестве до четырех тысяч. Цена &ndash; от 400 до 440 тыс. $. Чтобы купить этот автомобиль, придется подождать, но он того стоит.</p><p><img itemprop="image" alt="автомобиль" class="ide" src="http://fb.ru/media/i/1/5/6/8/4/i/15684_700x360.jpg" /></p><h2>"Шевроле Corvette C7"</h2><p>Кроме внешнего вида, самым впечатляющим в этом автомобиле можно считать его двигатель, 6,2-л LT1, заключенный в компактный блок и обладающий важными инновационными отличиями. &laquo;Корвет&raquo; поставляется либо с шестиступенчатой автоматической или семиступенчатой ручной коробкой передач. По сравнению с машинами предыдущих поколений у этой модели значительно уменьшено багажное отделение. Тем не менее, этот автомобиль удивителен во многих отношениях, и скорее всего, багажник будет последним, о чем подумает покупатель.</p><p><img itemprop="image" alt="модель " class="ide" src="http://fb.ru/media/i/1/5/6/8/8/i/15688_700x360.jpg" /></p><h2>"Хонда NSX" 2015</h2><p>Предыдущая модель Хонды оснащались алюминиевым шестицилиндровым двигателем VTEC, которым славится этот автопроизводитель, но этот автомобиль удивляет еще больше. Honda NSX была снята с производства в 2005 году, и после долгого перерыва начался выпуск новой модели. О ней пока что не очень много известно, но фото с Международного автосалона в Нью-Йорке 2012 года достаточно много говорят специалистам .</p><div class="text-ad-block"><div class="tb tbline"><div class="teaser" id="t8226">   <a href="/post/babies/2015/11/20/2868">       <img src="/media/i/1/8/1/6/2/i/18162_100x100.jpg"/>       <span>7 фраз, разрушительных для психики ребенка.</span></a></div>
<div class="teaser" id="t8230">   <a href="/post/infidelity/2015/11/20/2846">       <img src="/media/i/1/8/0/9/5/i/18095_100x100.jpg"/>       <span>Что отличает мужчину, склонного к изменам?</span></a></div>
<div class="teaser" id="t1694">   <a href="/post/psychology/2015/8/29/1032">       <img src="/media/i/5/9/1/6/i/5916_100x100.jpg"/>       <span>Жизненные уроки от 105-летнего старца</span></a></div></div></div><p><img itemprop="image" alt="двигатель" class="ide" src="http://fb.ru/media/i/1/5/6/8/2/i/15682_700x360.jpg" /></p><h2>"Ягуар XF Premium Luxury"</h2><p>Эта марка всегда олицетворяла роскошь. &laquo;Ягуар&raquo; XF Premium Luxury продолжает эту традицию, и внутри, и снаружи. Интерьер фантастический: кожаные сиденья с обогревом, сенсорные экраны, система, помогающая парковаться (чтобы не поцарапать эту красоту), автоматическое затемнение зеркала, двигатель с турбонаддувом, восьмиступенчатая &laquo;умная&raquo; трансмиссия и многое другое. Максимальная скорость - 149 миль/час. Время разгона до 60 миль в час - 6,7 сек. В общем, это довольно приличный автомобиль. Диапазоны цен от 45 до 95 тысяч долларов.</p></p></div>
 

Mikhail B.

Moderator
Регистрация
23.12.2014
Сообщения
14 333
Благодарностей
5 431
Баллы
113
Я вообще не профи, просто захотелось решить вашу задачку!
Под каждый сайт регулярку придется писать, можно попробовать универсальную, но мне кажется вряд ли это закончится чем то хорошим.
Можно парсить в 3 захода, обработать текст и далее в таблицу данные. Это самый логичный вывод.
Половина кода тизеры, нашел скрипт адблока, все же лучше взять чистый код и работать с ним.
Вот получилось создать такую регулярку исходя из тех данных, что вы предоставили.

(?<=/></p><h2>).*?700x360\.jpg

Вот что получилось
"Мазератти GranTurismo S"</h2><p>Модель GT с кузовом купе запущена в производство в 2007-м, а через три года знаменитая итальянская фирма предложила еще более привлекательный (и дорогой) вариант кабриолета. В 2014 году представители компании объявили, что выпуск этой модели завершен. Этот &laquo;зверь&raquo; оснащен 4,7-литровым двигателем V8 (434 л.с.), что впечатляет, если учитывать вес автомобиля (1,8 тонны). Ощущения водителя трудно описать словами, поэтому всем перспективным покупателям предлагается тестдрайв, если, конечно, они могут заплатить $ 150 тыс.</p><p><img itemprop="image" alt="автомобиль" class="ide" src="http://fb.ru/media/i/1/5/6/8/9/i/15689_700x360.jpg
Что, бы убрать всякие </h2><p> обрабатывайте полученные результаты регуляркой по 2 кругу и парсите результаты туда куда вам необходимо, например в таблицу, либо пользуйтесь обработкой текста.
 
Последнее редактирование:

deksi

Пользователь
Регистрация
20.08.2015
Сообщения
37
Благодарностей
1
Баллы
8
Я вообще не профи, просто захотелось решить вашу задачку!
Под каждый сайт регулярку придется писать, можно попробовать универсальную, но мне кажется вряд ли это закончится чем то хорошим.
Можно парсить в 3 захода, обработать текст и далее в таблицу данные. Это самый логичный вывод.
Половина кода тизеры, нашел скрипт адблока, все же лучше взять чистый код и работать с ним.
Вот получилось создать такую регулярку исходя из тех данных, что вы предоставили.

(?<=/></p><h2>).*?700x360\.jpg

Вот что получилось

Что, бы убрать всякие </h2><p> обрабатывайте полученные результаты регуляркой по 2 кругу и парсите результаты туда куда вам необходимо, например в таблицу, либо пользуйтесь обработкой текста.
А можно как-то через регулярное выражение указать к примеру убрать все теги кроме <p> и <img>?
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)