Помогите с регулярным выражением

noble

Пользователь
Регистрация
09.10.2014
Сообщения
181
Благодарностей
10
Баллы
18

Вложения

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
22 472
Благодарностей
10 023
Баллы
113
Нужно вытаращить ссылки объявлений http://www.myremont.in.ua/107-Vnutrennyaya-otdelka/Page-3.html
Сгенерировал регулярку: (?<=<h2><a\ href=").*(?="\ >) , не парсит ссылки
Подскажите в чём косяк?
парсится, но такой регуляркой: (?<=<h2><a\ href=").*?(?=">)
т.е. между замыкающими кавычкой и угловой скобкой не должно быть пробела..
или даже лучше, как написал kibnet ниже, т.е. с кавычкой, без угловой скобки, потому что верстка от страницы к странице может меняться в этом плане и, видимо у вас так и произошло - настраивали регулярку на одной странице, где есть пробел, а на другой странице, где нет пробела, регулярка уже не работает..
 
  • Спасибо
Реакции: noble

Bot_Sculptor

Client
Регистрация
11.06.2012
Сообщения
789
Благодарностей
244
Баллы
43
Нужно вытаращить ссылки объявлений http://www.myremont.in.ua/107-Vnutrennyaya-otdelka/Page-3.html
Сгенерировал регулярку: (?<=<h2><a\ href=").*(?="\ >) , не парсит ссылки
Подскажите в чём косяк?
там все просто
Код:
(?<=<h2><a\ href=").*?(?=")
брать DOM страницы
http://prntscr.com/atinzp
к ссылкам остается только добавить
Код:
http://www.myremont.in.ua
 
  • Спасибо
Реакции: noble

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 564
Баллы
113
Проблема в концовке регулярного выражения, - перед > нет пробела.
Вот рабочий вариант: (?<=<h2><a\ href=")[^"]+
 
  • Спасибо
Реакции: noble

noble

Пользователь
Регистрация
09.10.2014
Сообщения
181
Благодарностей
10
Баллы
18
Большое спасибо всем, за помощь
 

Darkoman

Client
Регистрация
17.03.2018
Сообщения
54
Благодарностей
7
Баллы
8

noble

Пользователь
Регистрация
09.10.2014
Сообщения
181
Благодарностей
10
Баллы
18
Добрый вечер. Прошу помощи. Требуется регулярка. Задача спарсить все названия объявлений по этой ссылке. https://www.avito.ru/drevplit?gdlkerfdnwq=102&shopId=143628
Это можно без регулярки сделать. Вам нужно найти в через "конструктор действий" имя поля в которое всунуты заголовоки. После чего взять их положить куда нужно
 
  • Спасибо
Реакции: Darkoman

Darkoman

Client
Регистрация
17.03.2018
Сообщения
54
Благодарностей
7
Баллы
8
Подскажите. Какую регулярку использовать чтобы бралось значений 1657
Или как сделать чтобы регулярка брала жесткое значение от 1-4 символов и не выделяло в пяти знаках 4 символа.
\d{4} --- использую такую регулрку но берет не моё значение
Данные
Регулярка
\d{4}
Данный для поиска
{ &quot;type&quot;: &quot;item&quot;, &quot;url&quot;: &quot;/items/stat/902213458&quot; }">
1657 (+4)
 

noble

Пользователь
Регистрация
09.10.2014
Сообщения
181
Благодарностей
10
Баллы
18
Подскажите. Какую регулярку использовать чтобы бралось значений 1657
Или как сделать чтобы регулярка брала жесткое значение от 1-4 символов и не выделяло в пяти знаках 4 символа.
\d{4} --- использую такую регулрку но берет не моё значение
Данные
Регулярка
\d{4}
Данный для поиска
{ &quot;type&quot;: &quot;item&quot;, &quot;url&quot;: &quot;/items/stat/902213458&quot; }">
1657 (+4)
Не совсем понятно, приведите пример - код из которого нужно выдернуть искомую переменную или что у Вас там
 
  • Спасибо
Реакции: Darkoman

orka13

Client
Регистрация
07.05.2015
Сообщения
2 190
Благодарностей
2 208
Баллы
113
Подскажите. Какую регулярку использовать чтобы бралось значений 1657
Или как сделать чтобы регулярка брала жесткое значение от 1-4 символов и не выделяло в пяти знаках 4 символа.
\d{4} --- использую такую регулрку но берет не моё значение
Данные
Регулярка
\d{4}
Данный для поиска
{ &quot;type&quot;: &quot;item&quot;, &quot;url&quot;: &quot;/items/stat/902213458&quot; }">
1657 (+4)
ищет четыре цифры, вокруг которых в тексте расположены НЕцифры (пробелы, буквы, границы строк...):
Код:
(?<=\D)\d{4}(?=\D)
 
  • Спасибо
Реакции: Darkoman

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