Opt('MustDeclareVars', True)
#include <StringConstants.au3>
; Здравствуйте помогите вытащить цену вот отсюда ©
;
; 1. Предполагается, что цена состоит из как минимум 1 цифры, символа «,» и двух цифр за этой запятой;
; 2. Из вопроса не ясно:
; – цена обязательно с центами/копейками/итп или м.б. целым числом без запятой?
; – нужен ли в выдаче символ «€» (или там м.б. доллар/рубль/что-то ещё)?
; – разделитель целой и дроби всегда запятая?
; – сама конструкция span именно такова или м.б. варианты?
;
; В простейшем случае (п.1) как-то так:
;
Local _
$sText = '<span _ngcontent-rebuy-app-c60="" data-cy="product-price" class="font-weight-bold mr-3 price-font-size"> 31,99 € </span>', _ ; исх строка
$sRExp = '<span [^>]+>\s*(\d+,\d\d).*</span>', _ ; рег выражение для выборки цены как "nn,nn"
$sRExp1 = '<span [^>]+>\s*(\d+(?:,\d\d)?).*</span>', _ ; рег выражение для выборки цены как целой либо с центами
$vResult
$vResult = StringRegExp($sText, $sRExp, $STR_REGEXPARRAYMATCH)
If @error Then
ConsoleWrite('Error!' & @CRLF)
Exit 1
EndIf
ConsoleWrite('Ok, price = ' & $vResult[0])
Exit 0
Постараюсь, но сразу доп. вопросы. За что именно зацепиться при разборе странички? Ваши примеры:Хотела бы усложнить задачу. Новую тему открывать не буду. Может вы сможете помочь )
Есть сайт.
Если вбить в поиск номер (например вот этот 3446435484), то появляется окошко, с ценой и другой информацией.
Мне нужна цена и проверка на существование этой надписи "Derzeit nicht verfügbar"
<span _ngcontent-rebuy-app-c60="" data-cy="product-price" class="font-weight-bold mr-3 price-font-size"> 31,99 € </span
<span _ngcontent-sc81="" data-cy="product-price" class="font-weight-bold mr-3 price-font-size"> 32,99 € </span>
Вдогонку:Постараюсь, но сразу доп. вопросы. За что именно зацепиться при разборе странички? Ваши примеры:
Было::<span _ngcontent-rebuy-app-c60="" data-cy="product-price" class="font-weight-bold mr-3 price-font-size"> 31,99 € </span
Напрашивается вот что:Стало::<span _ngcontent-sc81="" data-cy="product-price" class="font-weight-bold mr-3 price-font-size"> 32,99 € </span>
1. Прочитать страничку по адресу https://www.rebuy.de/kaufen/suchen?q=3446435484
2. Найти там span по образцу «data-cy="product-price"» и выдрать оттуда цену условно вида <евро>[,<центы>]
3. Проверить, есть ли «заклинание» "Derzeit nicht verfügbar"
4. Что важнее: пп 2 или 3?
В принципе всё элементарно: если предположения пп1-2 верны, то оформляем в виде функции и погнали
Автор темы | Похожие темы | Форум | Ответы | Дата |
---|---|---|---|---|
F | Парсинг строки и замена в ней данных регуляркой | Регулярные выражения и прочее | 9 | |
M | Парсинг номера из страницы | Стол заказов | 3 | |
M | Парсинг страницы. | Стол заказов | 0 | |
M | Парсинг строки с помощью регулярного выражения | Стол заказов | 18 | |
M | Парсинг номера из строки. | Регулярные выражения и прочее | 3 |