Не включать в раздачу запросы с опред. домен-и зонами + вопрос по regex

  • Автор темы Автор темы apollo47
  • Дата начала Дата начала

apollo47

A-Parser Enterprise License
A-Parser Enterprise
Приветствую. До последнего пытался решиться сам - не получилось.

Задача у меня следующая. У меня есть список ccылок.
Что нужно... парсить домен (причем важно учитывать http или https) -> заходить на главную -> искать на странице Anchor с вхождением registraion ->полученную ссылку c вхождением registraion сохранять.

Единственная проблема... как отсекать не нужные мне доменные зоны(сайты) (ru|ua|by) ДО запроса? Сейчас отсекается только ПОСЛЕ чека (в results не попадают не нужные мне зоны), а это доп-я, не нужная нагрузка.

+ столкнулся с проблемой в рег. выражении...
пытаюсь распарсить ссылку ($query), например, http(s)://domain.com/1/2/3/index.html мне нужно обрезать до http(s)://domain.com (повторюсь, важно учитывать http это или https)

0fzGIoG-TiuaUnTZfh8vUg.png


1.
1.1 - Регулярное выражение возвращает только http(s), не пойму почему не "дергает" еще и домен.
Сделал на костыле (см. 1.2)
Т.е строка запрос получается $query.http://$query.domain через этот "сплит" потом и лезу на главную сайта для поиска вхождения registration

2. Фильтр не дает сохранить домены опред. зон (этот бы фильтр и применить до "запроса")
2.1. Рег-е выражение ищет в ссылке вхождение зоны и если оно есть -> не включает его в результат.

Сейчас приходится пользоваться отдельным софтом для удаления ru,ua и тп не нужных зон, только потом чекать.
Cпасибо!
 
Здравствуйте.
1.1 Регулярное выражение возвращает только http(s) потому что они в тоже стоят в запоминающих скобках. То есть первый элемент который забирает регулярка это http, а во вторую переменную (если бы вы её добавили) писался бы домен. Поправьте регулярное выражение. Например на такое.
https*:\/\/(.*?)\/
Если вам надо знать http или https протокол используется в адресе то добавьте ещё одну переменную

По пункту 2.1 уточните что именно не получается.

Единственная проблема... как отсекать не нужные мне доменные зоны(сайты) (ru|ua|by) ДО запроса? Сейчас отсекается только ПОСЛЕ чека (в results не попадают не нужные мне зоны), а это доп-я, не нужная нагрузка.
Уберите их с файла со ссылками.
 
Последнее редактирование:
Здравствуйте.
1.1 Регулярное выражение возвращает только http(s) потому что они в тоже стоят в запоминающих скобках. То есть первый элемент который забирает регулярка это http, а во вторую переменную (если бы вы её добавили) писался бы домен. Поправьте регулярное выражение. Например на такое.
https*:\/\/(.*?)\/
Если вам надо знать http или https протокол используется в адресе то добавьте ещё одну переменную

По пункту 2.1 уточните что именно не получается.


Уберите их с файла со ссылками.

Я проверял регулярку в стороннем софте + в php. Возвращает http(s)://домен, грубо говоря $query[0] и содержит в себе что мне надо.
Уберите их с файла со ссылками.
Ну да, я же написал что сейчас так и приходится делать, отдельно базу чистить.
ДО чека, нельзя отсеивать нужные мне вхождения (в данном случае доменные зоны) ? Пускай они хоть и в списке есть
 
На этапе запросов проверку на несоответсвие провести не получится.
В конструкторе запросов, чтобы не использовать Extract Domain, вы можете сделать так
querydom.png
 
На этапе запросов проверку на несоответсвие провести не получится.
В конструкторе запросов, чтобы не использовать Extract Domain, вы можете сделать так
querydom.png
хорошо, а сразу можно в одну переменную?
спасибо.
 
Да регулярку поменяйте на (https*:\/\/[^\/]+)\/ и оставьте одну переменную
 
Назад
Верх