Автор Тема: Цифра выбранная из кода страницы  (Прочитано 6672 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн admirko [?]

  • Новичок
  • *
  • Сообщений: 11
  • Репутация: 0
    • Награды
У меня есть страница в интернете, допустим в ней присутствует вот такой код:
<img src="/img/icons/avail_attack.png" title="доступные бои" alt="бои"/>3</span>Мне нужно вырвать от-туда цифру 3, но она может меняться (от 1 до 3)+(так же может быть таймер в формате 4:37 и т.д.)
Вообщем суть в том, что мне надо вырвать то что между <img src="/img/icons/avail_attack.png" title="доступные бои" alt="бои"/> и </span>, а потом я буду приравнивать его к числам.. например 3,2,1 и в зависимости от этого принимать решение.

Точный вопрос: как мне вырвать эту информацию.

Русское сообщество AutoIt

Цифра выбранная из кода страницы
« Отправлен: Июнь 26, 2012, 20:52:35 »

Оффлайн Arei [?]

  • Скриптер
  • ****
  • Сообщений: 938
  • Репутация: 115
  • Пол: Мужской
    • Награды
Re: Цифра выбранная из кода страницы
« Ответ #1, Отправлен: Июнь 26, 2012, 20:57:56 »
Код: AutoIt [Выделить]
$per = '<img src="/img/icons/avail_attack.png" title="доступные бои" alt="бои"/>3</span>'
$out = StringFindSE($per,'"/>','</span>')
ConsoleWrite($out)

Func StringFindSE($string, $start = "", $end = "", $start_occ = 1, $end_occ = 1, $cas = 0)
    Local $source_start, $source_count, $source
    If $start <> '' Then
        Local $st_count
        $st_count = StringSplit($start, '')
        $source_start = StringInStr($string, $start, $cas, $start_occ) + $st_count[0]
    Else
        $source_start = 1
    EndIf
    If $end <> '' Then
        $source_count = StringInStr($string, $end, $cas, $end_occ, $source_start) - $source_start
    Else
        $source_count = -1
    EndIf
    Return StringMid($string, $source_start, $source_count)
EndFunc   ;==>_GAPI_StringFindSE





 


Оффлайн admirko [?]

  • Новичок
  • *
  • Сообщений: 11

  • Автор темы
  • Репутация: 0
    • Награды
Re: Цифра выбранная из кода страницы
« Ответ #2, Отправлен: Июнь 26, 2012, 21:02:25 »
вот такая ошибка - раз:
Код: AutoIt [Выделить]
$out = StringFindSE($per,'"/>','</span>')
$out = ^ ERROR


спасибо за подсказку, но дело в том, что у меня не просто <img src="/img/icons/avail_attack.png" title="доступные бои" alt="бои"/>3</span>а большой код страницы, а вырвать нужно только то что между этими двумя тегами

Оффлайн Arei [?]

  • Скриптер
  • ****
  • Сообщений: 938
  • Репутация: 115
  • Пол: Мужской
    • Награды
Re: Цифра выбранная из кода страницы
« Ответ #3, Отправлен: Июнь 26, 2012, 21:10:19 »
дай всю страницу и сделаю, какой дал код страницы, то исделал.


Добавлено: Июнь 26, 2012, 21:11:00
ты функцию скопировал?


Русское сообщество AutoIt

Re: Цифра выбранная из кода страницы
« Ответ #3 Отправлен: Июнь 26, 2012, 21:10:19 »

Оффлайн admirko [?]

  • Новичок
  • *
  • Сообщений: 11

  • Автор темы
  • Репутация: 0
    • Награды
Re: Цифра выбранная из кода страницы
« Ответ #4, Отправлен: Июнь 26, 2012, 21:21:01 »
да, ошибку с функцией уже понял.
Вот вся страничка, заранее говорю я буду читать ее через _IEBodyReadHTML с веб адреса



Добавлено: Июнь 26, 2012, 21:22:46
было бы отлично, если набор цифр, а иногда и цифр с символами, копировался в какую-то переменную $test


Добавлено: Июнь 26, 2012, 21:33:24
почему нельзя так? =( что-то подобное должно же работать
Код: AutoIt [Выделить]
$body2 = _IEBodyReadHTML($oIE)
$countFIGHTS = StringRegExp($body2, '<img src="/img/icons/avail_attack.png" title="доступные бои" alt="бои">', '</span>')
ConsoleWrite ($countFIGHTS)

« Последнее редактирование: Июнь 26, 2012, 22:51:58 от Garrett, Причина: Объединение сообщений »

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 4003
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Цифра выбранная из кода страницы
« Ответ #5, Отправлен: Июнь 26, 2012, 22:25:05 »
admirko
Дайте код с открывающим тегом <span>
Что за привычка, выкладывать бессмысленные обрывки кода?

Цитировать
я буду читать ее через _IEBodyReadHTML
В чём смысл? Почему вы не хотите использовать полный функционал UDF?


Скорблю и помню.




Оффлайн admirko [?]

  • Новичок
  • *
  • Сообщений: 11

  • Автор темы
  • Репутация: 0
    • Награды
Re: Цифра выбранная из кода страницы
« Ответ #6, Отправлен: Июнь 26, 2012, 22:46:08 »
Цитировать
Почему вы не хотите использовать полный функционал UDF?
потому что я начинающий, вчера скачал autoIT  :-[, я просто не смогу понять ваш код, а из этого 2 последствия: 1) я не пойму логику написанного вами; 2) я не смогу в будущем сам делать что-то сам.

я пока учу IE и GUI, остановился на _IEBodyReadHTML.
Цитировать
Что за привычка, выкладывать бессмысленные обрывки кода?
между прочим я уже выложил полный код страницы :-X

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 4003
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Цифра выбранная из кода страницы
« Ответ #7, Отправлен: Июнь 26, 2012, 22:48:14 »
admirko  [?]
Цитировать
между прочим я уже выложил полный код страницы

admirko  [?]
Цитировать
Вот вся страничка

Вот убейте, не вижу :blink:

Русское сообщество AutoIt

Re: Цифра выбранная из кода страницы
« Ответ #7 Отправлен: Июнь 26, 2012, 22:48:14 »

Оффлайн admirko [?]

  • Новичок
  • *
  • Сообщений: 11

  • Автор темы
  • Репутация: 0
    • Награды
Re: Цифра выбранная из кода страницы
« Ответ #8, Отправлен: Июнь 26, 2012, 22:50:59 »
Удалите вложение и вашу цитату плиз =)


Добавлено: Июнь 26, 2012, 22:53:08
а тег <span> вам ничего не даст, там еще штуки 4-5 вверху абсолютно идентичных span'ов:
<div class="header-content">
<span  class="nobr"><a href="/user"><img src="/img/icons/player_1.png" title="Имя" alt="[имя]"/><span class="link">1231</span></a></span>
<span class="nobr"><a href="/user/upgrade"><img src="/img/icons/lvl.png" title="Уровень" alt="[ур]"/></a>99</span>
<span class="nobr"><a href="/shop/category/5"><img src="/img/icons/hp.png" title="Здоровье" alt="[Здоровье]"/></a>400</span>
<span class="nobr"><a href="/shop/category/5"><img src="/img/icons/zeal.png" title="Рвение" alt="[рвение]"/></a>100</span>
<span class="nobr"><a href="/shop"><img src="/img/icons/money.png" title="Фантики" alt="[ф]"/></a>600</span>
<span class="nobr"><img src="/img/icons/money_vip.png" title="Випы" alt="[вип]"/>471</span>
<span class="nobr"><img src="/img/icons/avail_attack.png" title="доступные бои" alt="бои"/>3</span>
</div>
Весь код во вложении.


Добавлено: Июнь 26, 2012, 22:55:46
кодировка его испортила. вот прошу под спойлер выложил...
(нажмите для показа/скрытия)
« Последнее редактирование: Июнь 26, 2012, 22:56:32 от admirko »

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 4003
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Цифра выбранная из кода страницы
« Ответ #9, Отправлен: Июнь 26, 2012, 22:59:57 »
admirko
Я буквально вчера писал пример для задачи подобно вашей.
Там достаточно поменять три значения. Посмотрите пример внимательно!


Оффлайн admirko [?]

  • Новичок
  • *
  • Сообщений: 11

  • Автор темы
  • Репутация: 0
    • Награды
Re: Цифра выбранная из кода страницы
« Ответ #10, Отправлен: Июнь 26, 2012, 23:02:29 »
Цитировать
Я буквально вчера писал пример
я смотрел пример, но у вас там у каждого span разные class'ы, а у меня одинаковые и больше для них ничего не заданно.


Добавлено: Июнь 26, 2012, 23:07:12
к тому же внутри моего span'a там не только цифра, а еще ссылка и т.д.

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 4003
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Цифра выбранная из кода страницы
« Ответ #11, Отправлен: Июнь 26, 2012, 23:07:37 »
Там указан classname тега  span, родителя, а далее по индексу (относительно родителя) выбирается дочерний тег.
У вас родителем для тега span является тег div и у него есть classname. И в чём проблема? :)


Добавлено: Июнь 26, 2012, 23:08:43
admirko  [?]
Цитировать
к тому же внутри моего span'a там не только цифра
Это не суть важно, потому как вам нужен текст.

Оффлайн admirko [?]

  • Новичок
  • *
  • Сообщений: 11

  • Автор темы
  • Репутация: 0
    • Награды
Re: Цифра выбранная из кода страницы
« Ответ #12, Отправлен: Июнь 26, 2012, 23:11:18 »
OffTopicстолько препятствий и уточнений :stars:

Оффлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 4003
  • Репутация: 960
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.14.0
Re: Цифра выбранная из кода страницы
« Ответ #13, Отправлен: Июнь 26, 2012, 23:13:27 »
admirko  [?]
Цитировать
столько препятствий и уточнений
Какие препятствия? :)

Оффлайн admirko [?]

  • Новичок
  • *
  • Сообщений: 11

  • Автор темы
  • Репутация: 0
    • Награды
Re: Цифра выбранная из кода страницы
« Ответ #14, Отправлен: Июнь 26, 2012, 23:18:56 »
Garrett, не покидайте тему пожалуйста, я сейчас попробую и опишу результат.


Добавлено: Июнь 26, 2012, 23:53:15
не вышло :(
Код: AutoIt [Выделить]
$oElements = _IETagNameGetCollection($oIE, 'div')
For $oElement In $oElements
   If $oElement.className == 'header-content' Then
      $oElement = _IETagNameGetCollection($oElement, 'div', 1)
      $oSelect = _IEFormElementGetObjByIndex($oElement, "6")
      ConsoleWrite(_IEPropertyGet($oSelect, 'innertext'))
      ExitLoop
   EndIf
   Next

« Последнее редактирование: Июнь 26, 2012, 23:53:15 от admirko, Причина: Объединение сообщений »

Русское сообщество AutoIt

Re: Цифра выбранная из кода страницы
« Ответ #14 Отправлен: Июнь 26, 2012, 23:18:56 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
13 Ответов
9946 Просмотров
Последний ответ Май 06, 2010, 19:53:22
от Garrett
6 Ответов
3556 Просмотров
Последний ответ Май 21, 2010, 10:20:27
от Garrett
4 Ответов
10283 Просмотров
Последний ответ Июнь 27, 2011, 08:48:59
от RUVATA
2 Ответов
2550 Просмотров
Последний ответ Октябрь 18, 2011, 15:06:27
от Math
18 Ответов
8767 Просмотров
Последний ответ Февраль 08, 2012, 22:23:15
от GenoTIP
2 Ответов
2330 Просмотров
Последний ответ Ноябрь 27, 2012, 13:22:09
от Fortuno
1 Ответов
1770 Просмотров
Последний ответ Февраль 11, 2013, 06:58:32
от creature
0 Ответов
1134 Просмотров
Последний ответ Декабрь 14, 2012, 09:06:02
от madmasles
2 Ответов
756 Просмотров
Последний ответ Июль 02, 2014, 17:33:20
от Zalman1980
10 Ответов
3783 Просмотров
Последний ответ Сентябрь 08, 2014, 21:22:12
от madmasles