51

Re: AHK: Загрузить часть HTML страницы

ComObjError(false)

52

Re: AHK: Загрузить часть HTML страницы

Как получить например в первой StringBetween, 3 подходящее значение, а во втором 10 подходящее, где-то прописать Loop, 3 ? И где добавить перенос строки ( 'n ) и свой текст во 2 и 3 StringBetween ?

addr := "https://www.mobiasbanca.md/"
text := UrlDownloadToVar(addr)
addr2 := "http://www.victoriabank.md/index.php"
text2 := UrlDownloadToVar(addr2)
addr3 :=
text3 :=
Msgbox, % " Mobiasbanca - " StringBetween( text, "RUB</td><td class=""buy"">", "<")
          . StringBetween( text2, "<td align=""right"">", "<")
          . StringBetween( text3, "<"">", "<")
Return

StringBetween( Str, NS, NE = "" ) {
    NE := NE = "" ? "$" : "\Q" NE "\E"
    Return RegExMatch(Str, "i)\Q" NS "\E(.*?)" NE, Res) ? Res1 : ""
}

UrlDownloadToVar(URL, UserAgent = "")
{
   WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
   WebRequest.Open("GET", Url)
   UserAgent ? WebRequest.Option(WinHttpRequestOption_UserAgentString := 0) := UserAgent
   WebRequest.Send()
   Text := WebRequest.ResponseText
   WebRequest := ""
   return Text
}

53

Re: AHK: Загрузить часть HTML страницы

Непонятно, что вы конкретно хотите получить.

54 (изменено: nuts, 2016-02-15 17:41:41)

Re: AHK: Загрузить часть HTML страницы

Malcev пишет:

Непонятно, что вы конкретно хотите получить.

На первой странице https://www.mobiasbanca.md/   под

StringBetween( text, "RUB</td><td class=""buy"">", "<") 

подходят 3 значения

RUB</td><td class="buy">0.2510</td>
RUB</td><td class="buy">0.2505</td>
RUB</td><td class="buy">0.2450</td>

С первой страницы мне нужно получить третье значение, а не первое, то-есть Msgbox мне выдает 0.2510, а мне нужно 0.2450.
Так же и со второй ,

StringBetween( text2, "<td align=""right"">", "<")
<td align="right">19.810</td>
<td align="right">20.170</td>
<td align="right">22.150</td>
<td align="right">22.670</td>
<td align="right">0.247</td>
<td align="right">0.260</td>

и так далеее... нужно получить 21 значение, цифры каждый день меняются. Это курс валют.

55

Re: AHK: Загрузить часть HTML страницы

nuts, ссылку и код необходимо оформить тегами url и code!

56 (изменено: Malcev, 2016-02-15 19:09:38)

Re: AHK: Загрузить часть HTML страницы

addr := "https://www.mobiasbanca.md/"
text := UrlDownloadToVar(addr)

Msgbox, % "1ый повтор: " StringBetween( text, "RUB</td><td class=""buy"">", "<", 1) 
. "`n2ой повтор: " StringBetween( text, "RUB</td><td class=""buy"">", "<", 2)
. "`n3ий повтор: " StringBetween( text, "RUB</td><td class=""buy"">", "<", 3)
Return

StringBetween( Str, NS, NE := "", N := 1) {
   NE := NE = "" ? "$" : "\Q" NE "\E"
   Return RegExMatch(Str, "is)(?:\Q" NS "\E(.*?)" NE ".*?){" N "}", Res) ? Res1 : ""
}

UrlDownloadToVar(URL, UserAgent = "")
{
   WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
   WebRequest.Open("GET", Url)
   UserAgent ? WebRequest.Option(WinHttpRequestOption_UserAgentString := 0) := UserAgent
   WebRequest.Send()
   Text := WebRequest.ResponseText
   WebRequest := ""
   return Text
}

57

Re: AHK: Загрузить часть HTML страницы

Malcev отлично, то что надо, + в репу

58 (изменено: nuts, 2016-07-25 20:41:06)

Re: AHK: Загрузить часть HTML страницы

Можно как-то начало и конец строки чтобы считывались с переменной ??

Примерно что-то типа этого

a1 := %clipboard%
a2 := <
StringBetween( text, "a1", "a2", 1)

59

Re: AHK: Загрузить часть HTML страницы

a1 := clipboard
a2 := "<"
StringBetween( text, a1, a2, 1)

60 (изменено: MrRutts, 2018-03-05 14:15:19)

Re: AHK: Загрузить часть HTML страницы

Добрый день!

Почему не срабатывает код:

text := UrlDownloadToVar("https://binomo.com/ru/trading")
Msgbox % RegExReplace(text, <span class="currency-amount ng-binding" ng-bind="vm.amount$ | async:this">, " </span>" )

UrlDownloadToVar(URL, UserAgent = "")
{
   WebRequest := ComObjCreate("WinHttp.WinHttpRequest.5.1")
   WebRequest.Open("GET", Url)
   UserAgent ? WebRequest.Option(WinHttpRequestOption_UserAgentString := 0) := UserAgent
   WebRequest.Send()
   Text := WebRequest.ResponseText
   WebRequest := ""
   return Text
}

Должен принять число :

<span class="currency-amount ng-binding" ng-bind="vm.amount$ | async:this">1 068,94 </span>