Помогите с регуляркой (нужно взять открывающие и закрывающие теги)

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
Приветствую.
Есть задача спарсить несколько сайтов на предмет контактов. То есть логика пока такая.
Переходим на главную > ищем совпадения по нужным ключам "Контакты", связь, поддержка, обратная связь и тд далее.
Если нужный ключ есть, то берем отрывающие теги и закрывающие.

пример:
<boby>
идет какой-то текст
<тут какой-то код>
тут еще что-то
<a href="contacts.html">Контакты</a> или это стразу мыло будет <a id="m_a" href="mailto:мыло@мыло.ру">Реклама на сайте</a>
тут идут коды счетчиков и еще что-то

то есть если на странице есть слово "контакты", то берем всю html строку, куда встроено ключевое слово/фраза
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113
Да, регулярка не самая простая для обработки. Но тут нужно чем то жертвовать. Если хотите обрабатывать различные сайты и искать на них не пойми что, это всегда будет сложно для процессора.
Скажу больше - запросто может полностью повиснуть поток на некоторых сайтах, по этой причине эту тему нужно реализовывать параллельными потоками, с контролем по времени зависания.
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
Я, решил вопрос более проще, поиском отдельных кусков слова из ключа, быстро ищет, но не понятно что будет на дистанции.
 

backoff

Client
Регистрация
20.04.2015
Сообщения
6 052
Благодарностей
6 481
Баллы
113
подскажите по вопросу новому. плиз.
вот например как искать по имени домена?

вот например есть сайт - 123.ru
на главной его странице например указан емай - [email protected]

как составить регулярку чтобы найти первые 10 символов до знака @ и само окончание 123.ru

------------------
и второй вопрос

как можно взять 10 символов из текста, например такого:

9324н59345н91348513еоупещуцкпэуцк
пыв
ап
ывап
sd
fgdsfgdfgsdfgsdf [email protected] wgkljngksjnlkghsl;hk

то есть я вырезал кусок текста, который совпадает по условиям, как мне обрезать до - fgsdf [email protected] в идеале конечно только само мыло получить, но думаю это сложно
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113

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