Что нового

Помогите найти число

Dk

Новичок
Сообщения
358
Репутация
2
Здравствуйте

Нужно найти 93,09

Код:
<span class="a-size-medium a-color-price sc-price sc-white-space-nowrap sc-product-price sc-price-sign a-text-bold">EUR 93,09</span>


Всегда искал так и находил
Код:
StringRegExp($sHTML, 'sc-price-sign a-text-bold">EUR\h*?(\d+?,?\d*?)</span>', 3)


Но вдруг перестал работать, находит на сайте кучу других чисел, но только не это.
Помогите другим вариантом, например как то расширить условия для выборки.

Пример на сайте.
https://www.amazon.de/gp/offer-listing/3621281576/ref=dp_olp_used?ie=UTF8&condition=used

Нажимаем самый первый товар "In den Warenkorb". Потом в правом верхнем углу "Einkaufswagen"

И вы попадёте на страницу с которой я хочу взять эту цену.
Если есть более лучшии способ буду очень рад.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Dk [?]
Но вдруг перестал работать
А так?
Код:
#include <Array.au3>
;...
$sText = 'ваш html текст'
$sPattern = '<span.*sc-product-price sc-price-sign.*[^>]*>(EUR[\s\S]*?)<\/span>'
$aData = StringRegExp($sText, $sPattern, 3)

_ArrayDisplay($aData)


Если есть более лучшии способ буду очень рад.
Через IE.
 
Автор
D

Dk

Новичок
Сообщения
358
Репутация
2
Garrett

К сожалению не работает.

Пожалуйста попробуйте именно через сайт.
Я пользуюсь IE. (Альтернативный вариант для IE)
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Dk
Т.е вы используете IE но все равно все делаете через регулярные выражения, я правильно понял, если так, то для чего?
 
Автор
D

Dk

Новичок
Сообщения
358
Репутация
2
inververs сказал(а):
Dk
Т.е вы используете IE но все равно все делаете через регулярные выражения, я правильно понял, если так, то для чего?


Так как знаний хватило ровно на это. :-[
Другими словами в своё время сделал как мог ...
а DOM мне вообще не ведам. :-\

Это часть большого скрипта... и там всё было написанно примерно так

Код:
$oIE = _IECreate('https://www.amazon.de/gp/cart/view.html/ref=lh_cart_vc_btn')
	  $sHTML = _IEDocReadHTML ($oIE)
	  $aPrice2=StringRegExp($sHTML, 'sc-price-sign a-text-bold">EUR\h*?(\d+?,?\d*?)</span>', 3)

Любую информацию я выдёргивал именно так и использовал далее
Я боюсь в силу своего незнания окончательно нарушить там гармонию.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Dk [?]
Альтернативный вариант для IE
Код:
$sURL = 'https://www.amazon.de/gp/cart/view.html/ref=lh_cart_vc_btn'

#include <IE.au3>

$oIE = _IEAttach($sURL, 'URL')
ConsoleWrite($oIE.document.getElementsByClassName("a-spacing-small")(0).innerText & @CR)
 
Автор
D

Dk

Новичок
Сообщения
358
Репутация
2
Garrett

Да всё работает. :smile:
Находит. Тему пока не закрываю, сейчас вмонтирую себе в скрипт и проверю полностью ...

Мне нужно что бы было только число, а там ешё выходит EUR :'(
 
Автор
D

Dk

Новичок
Сообщения
358
Репутация
2
Garrett

Всё работает.
Спасибо. :IL_AutoIt_1:

Тему закрываю. :smile:
 
Верх