Получить значение, за что уцепиться - регулярка или код?

konlaz

Новичок
Регистрация
11.02.2022
Сообщения
17
Благодарностей
2
Баллы
3
Здравствуйте, подскажите новичку, как получить значение только цифры без пробелов, с выделенной красным цветом строчки? Это страница на Озон. Уже третий раз переделываю шаблон. Классы скорее всего меняются через скрипт, их прописывать бесполезно.
Нужен результат: 6361 или такой какой будет на других страницах.
Взята для примера страница: ozon.ru/product/405372110
Спасибо.
P.S. Готов оплатить консультацию и рабочий пример.

<div slot="content" class="lp7 p8l">
<div class="pl2 pl8">
<span class="p2l l3p">1&nbsp;225&nbsp;₽</span>
<span class="p3l">× 6 мес<div class="ui-j9 j8o lp4">
<div class="ui-b1"><button tabindex="0" type="button" class="ui-b3">
<span class="ui-b4 ui-c5 ui-e9" style="border-radius:6px;"><svg xmlns="***********************" width="16" height="16" class="ui-e7" style="color: var(--ozBGQuaternary);">
<path fill="currentColor" d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16ZM8 5a1 1 0 1 1 0-2 1 1 0 0 1 0 2Zm1 3v4a1 1 0 1 1-2 0V8a1 1 0 0 1 2 0Z"></path></svg>
<span class="ui-f1"></span>
</span></button></div> </div></span></div>
<div class="l4p lp6 pl7"><div>
<span class="lp5 l5p"><span>6&thinsp;361&thinsp;₽</span>&nbsp;</span>
<span class="p5l">9&thinsp;785&thinsp;₽</span>
</div></div> <!----> <!----></div>
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
C#:
string text = project.Variables["text"].Value;
return Regex.Match(text,@"(?<=<span>).*?(?=&thinsp;₽</span>)").Value.ToString().Replace("&thinsp;", "").Trim();
 
  • Спасибо
Реакции: konlaz и doc

konlaz

Новичок
Регистрация
11.02.2022
Сообщения
17
Благодарностей
2
Баллы
3
C#:
string text = project.Variables["text"].Value;
return Regex.Match(text,@"(?<=<span>).*?(?=&thinsp;₽</span>)").Value.ToString().Replace("&thinsp;", "").Trim();
Здравствуйте, спасибо, а если они заменят в строке &thinsp; на что то другое? Тогда не будет искать?
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
Здравствуйте, спасибо, а если они заменят в строке &thinsp; на что то другое? Тогда не будет искать?
Если что-то изменят - нужно будет изменить регулярку на другую.
 
  • Спасибо
Реакции: konlaz

konlaz

Новичок
Регистрация
11.02.2022
Сообщения
17
Благодарностей
2
Баллы
3
Еще важное забыл написать, на 2 ух страницах цена отображается немного по другому.
ozon.ru/product/307179931 (эта с рассрочкой, отображается ниже)
ozon.ru/product/405372110 ( тут без рассрочки)
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
Еще важное забыл написать, на 2 ух страницах цена отображается немного по другому.
ozon.ru/product/307179931 (эта с рассрочкой, отображается ниже)
ozon.ru/product/405372110 ( тут без рассрочки)
Работает для этих страничек корректно.
92181
 
  • Спасибо
Реакции: konlaz

konlaz

Новичок
Регистрация
11.02.2022
Сообщения
17
Благодарностей
2
Баллы
3

Вложения

  • 16,2 КБ Просмотры: 51

konlaz

Новичок
Регистрация
11.02.2022
Сообщения
17
Благодарностей
2
Баллы
3

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
  • Спасибо
Реакции: konlaz

konlaz

Новичок
Регистрация
11.02.2022
Сообщения
17
Благодарностей
2
Баллы
3
В проекте не создана переменная text, и в ней нет того текста, в котором нужно искать.
Вы не могли бы в присланном файле подправить и прислать? Надо поместить полученное значение в переменную price_source.
Это я вижу: "Спасибо" или 10$ - тебе решать! и скажу и Спасибо и 10$ оплачу.
Что то у меня не получается, выше писал "новичок"
Хотел отправить 10$ но кворк приостановлен по ссылке...
 
Последнее редактирование:
  • Спасибо
Реакции: meriin

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
Вы не могли бы в присланном файле подправить и прислать? Надо поместить полученное значение в переменную price_source.
Это я вижу: "Спасибо" или 10$ - тебе решать! и скажу и Спасибо и 10$ оплачу.
Что то у меня не получается, выше писал "новичок"
Не нужно ничего платить :-)
Проект я не смогу Ваш открыть - я работаю на 5-й версии Зенно.
В своем проекте создаете переменную text, в нее ложите текст, который указали в первом сообщении.
Код ниже сохранит результат в переменную price_source, она также должна существовать в проекте.
C#:
string text = project.Variables["text"].Value; // В переменной text должен быть текст, в котором будем искать
project.Variables["price_source"].Value =  Regex.Match(text,@"(?<=<span>).*?(?=&thinsp;₽</span>)").Value.ToString().Replace("&thinsp;", "").Trim(); // В эту переменную будем сохранять результат
Если же данные нужно взять с страничке в браузере - можете попробовать использовать данный код, который выполнит то же самое, только возьмет текст со странички браузера, и там будет пытаться искать результат. Если найдет - результат будет сохранен в переменную price_source (которая также должна существовать в проекте).
C#:
string text = instance.ActiveTab.DomText;
project.Variables["price_source"].Value =  Regex.Match(text,@"(?<=<span>).*?(?=&thinsp;₽</span>)").Value.ToString().Replace("&thinsp;", "").Trim(); // В эту переменную будем сохранять результат
92218


Пример проекта, где созданы данные переменные добавил.
 

Вложения

  • Спасибо
Реакции: konlaz

konlaz

Новичок
Регистрация
11.02.2022
Сообщения
17
Благодарностей
2
Баллы
3
Не нужно ничего платить :-)
Проект я не смогу Ваш открыть - я работаю на 5-й версии Зенно.
В своем проекте создаете переменную text, в нее ложите текст, который указали в первом сообщении.
Код ниже сохранит результат в переменную price_source, она также должна существовать в проекте.
C#:
string text = project.Variables["text"].Value; // В переменной text должен быть текст, в котором будем искать
project.Variables["price_source"].Value =  Regex.Match(text,@"(?<=<span>).*?(?=&thinsp;₽</span>)").Value.ToString().Replace("&thinsp;", "").Trim(); // В эту переменную будем сохранять результат
Если же данные нужно взять с страничке в браузере - можете попробовать использовать данный код, который выполнит то же самое, только возьмет текст со странички браузера, и там будет пытаться искать результат. Если найдет - результат будет сохранен в переменную price_source (которая также должна существовать в проекте).
C#:
string text = instance.ActiveTab.DomText;
project.Variables["price_source"].Value =  Regex.Match(text,@"(?<=<span>).*?(?=&thinsp;₽</span>)").Value.ToString().Replace("&thinsp;", "").Trim(); // В эту переменную будем сохранять результат
Посмотреть вложение 92218

Пример проекта, где созданы данные переменные добавил.
Не хочет никак работать: chapon.ru/2022-05-23_20-39-35.mp4

Другой вариант тоже не ищет: chapon.ru/2022-05-23_21-01-11.mp4
 
Последнее редактирование:

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
  • Спасибо
Реакции: konlaz

konlaz

Новичок
Регистрация
11.02.2022
Сообщения
17
Благодарностей
2
Баллы
3

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
Галочка стоит и убирал и ставил все равно
Выполнение кода C# Результат: ok
Хм... Сейчас соберу решение относительно именно того, что увидел на видео. 5 минут, добавлю сюда шаблон.
 
  • Спасибо
Реакции: konlaz

konlaz

Новичок
Регистрация
11.02.2022
Сообщения
17
Благодарностей
2
Баллы
3
Хм... Сейчас соберу решение относительно именно того, что увидел на видео. 5 минут, добавлю сюда шаблон.
И сразу вышлите или номер телефона могу пополнить или куда кинуть 1000 руб. (15$) моя почта (логин + собака ya.ru)
 

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
Попробуйте запустить данный шаблон - вижу у меня работает корректно.
Регулярку изменил, так как в Зенно вместо &thinsp; обычный пробел работает.

И сразу вышлите или номер телефона могу пополнить или куда кинуть 1000 руб. (15$)
Не нужно - на форуме люди помогают друг-другу бесплатно :-)
 

Вложения

  • Спасибо
Реакции: konlaz

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
Запустили шаблон который я добавил к предыдущему сообщению?
Работает как нужно было?
 
  • Спасибо
Реакции: konlaz

konlaz

Новичок
Регистрация
11.02.2022
Сообщения
17
Благодарностей
2
Баллы
3
Попробуйте запустить данный шаблон - вижу у меня работает корректно.
Регулярку изменил, так как в Зенно вместо &thinsp; обычный пробел работает.


Не нужно - на форуме люди помогают друг-другу бесплатно :-)
Да сейчас заработал, спасибо огромное, мне бы было приятно все таки финансово отблагодарить...
 
  • Спасибо
Реакции: BAZAg

BAZAg

Client
Регистрация
08.11.2015
Сообщения
1 786
Благодарностей
2 450
Баллы
113
Да сейчас заработал, спасибо огромное, мне бы было приятно все таки финансово отблагодарить...
Отлично!
Я рад, что смог чем-то помочь.
Как я уже писал выше - ничего не нужно - мне по приколу заниматься решением подобных задач.
Хорошего вечера. В случае необходимости - обращайтесь.
 
  • Спасибо
Реакции: konlaz

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