Что нового

Цифра выбранная из кода страницы

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 и в зависимости от этого принимать решение.

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

Arei

Скриптер
Сообщения
938
Репутация
115
Код:
$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
 
Автор
A

admirko

Новичок
Сообщения
11
Репутация
0
вот такая ошибка - раз:
Код:
$out = StringFindSE($per,'"/>','</span>')
$out = ^ ERROR


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

Arei

Скриптер
Сообщения
938
Репутация
115
дай всю страницу и сделаю, какой дал код страницы, то исделал.


Добавлено:
Сообщение автоматически объединено:

ты функцию скопировал?
 
Автор
A

admirko

Новичок
Сообщения
11
Репутация
0
да, ошибку с функцией уже понял.
Вот вся страничка, заранее говорю я буду читать ее через _IEBodyReadHTML с веб адреса



Добавлено:
Сообщение автоматически объединено:

было бы отлично, если набор цифр, а иногда и цифр с символами, копировался в какую-то переменную $test


Добавлено:
Сообщение автоматически объединено:

почему нельзя так? =( что-то подобное должно же работать
Код:
$body2 = _IEBodyReadHTML($oIE)
$countFIGHTS = StringRegExp($body2, '<img src="/img/icons/avail_attack.png" title="доступные бои" alt="бои">', '</span>')
ConsoleWrite ($countFIGHTS)
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
admirko
Дайте код с открывающим тегом <span>
Что за привычка, выкладывать бессмысленные обрывки кода?

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

admirko

Новичок
Сообщения
11
Репутация
0
Почему вы не хотите использовать полный функционал UDF?
потому что я начинающий, вчера скачал autoIT :-[, я просто не смогу понять ваш код, а из этого 2 последствия: 1) я не пойму логику написанного вами; 2) я не смогу в будущем сам делать что-то сам.

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

admirko

Новичок
Сообщения
11
Репутация
0
Удалите вложение и вашу цитату плиз =)


Добавлено:
Сообщение автоматически объединено:

а тег <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>
Весь код во вложении.


Добавлено:
Сообщение автоматически объединено:

кодировка его испортила. вот прошу под спойлер выложил...
Код:
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
      <title>Шпана - герои улиц</title>
      <meta name="keywords" content="" />
      <meta name="description" content="" />
      <meta name="copyright" content="" />
      <link type="text/css" rel="stylesheet" media="screen" href="/css/typography.min.css" />
      <link type="text/css" rel="stylesheet" media="screen, projection" href="/css/main_1.min.css" />
  </head>
  <body>
              
    <div id="wrapper">
                                                                  
      

      <div id="content">
        <div id="page_content">
                      <div class="header">
              <span class="bord_header"></span>
              <div class="header-content">
                <span  class="nobr"><a href="/user"><img src="/img/icons/player_1.png" title="Имя" alt="[имя]"/><span class="link">111</span></a></span><span class="nobr"><a href="/user/upgrade"><img src="/img/icons/lvl.png" title="Уровень" alt="[ур]"/></a>111</span><span class="nobr"><a href="/shop/category/5"><img src="/img/icons/hp.png" title="Здоровье" alt="[Здоровье]"/></a>111</span><span class="nobr"><a href="/shop/category/5"><img src="/img/icons/zeal.png" title="Рвение" alt="[рвение]"/></a>111</span><span class="nobr"><a href="/shop"><img src="/img/icons/money.png" title="Фантики" alt="[ф]"/></a>111</span><span class="nobr"><img src="/img/icons/money_vip.png" title="Випы" alt="[вип]"/>111</span><span class="nobr"><img src="/img/icons/avail_attack.png" title="доступные бои" alt="бои"/>3</span>              </div>
              <span class="bord_header"></span>
            </div>
          
          
                      <div id="user_content">
    <div class="fltl">
      <div id="avatar">
        <div class="bg_avatar">
          <img src="/img/avatars/100190032001b001c001d006e003f0000.png" alt=""/>
        </div>
      </div>
    </div>
    <div class="fltl pdl_2">
      <div class="user_params">
                  <div>
            <img src="/img/icons/d1.png" height="18px" width="20px" alt=""/>111         </div>
                  <div>
            <img src="/img/icons/d2.png" height="18px" width="20px" alt=""/>111          </div>
                  <div>
            <img src="/img/icons/d3.png" height="18px" width="20px" alt=""/>111         </div>
                          <div>
            <img src="/img/icons/a1.png" height="18px" width="20px" alt=""/>111          </div>
                  <div>
            <img src="/img/icons/a2.png" height="18px" width="20px" alt=""/>111          </div>
                  <div>
            <img src="/img/icons/a3.png" height="18px" width="20px" alt=""/>111          </div>
                <div>
          <img src="/img/icons/luck.png" alt=""/>24        </div>
        <div>
          <span class="nobr"><img src="/img/icons/hp.png" title="Здоровье" alt="[Здоровье]"/>111(100%)</span>        </div>
        <div>
          <span class="nobr"><img src="/img/icons/zeal.png" title="Рвение" alt="[рвение]"/>111(100%)</span>        </div>
        <div>
          <span class="nobr"><img src="/img/icons/exp.png" title="Опыт" alt="[oпыт]"/>111(100%)</span>        </div>
        <div>
          <span class="nobr"><a href="/rating"><img src="/img/icons/rating.png" title="Рейтинг" alt="[рейтинг]"/></a>111</span>        </div>
      </div>
    </div>
    <div class="clear"></div>
  </div>
  <div class="user_buttons">
    <a class="btn_wear btn_gspace" href="/user/upgrade">качалка</a>
    <a class="btn_wear" href="/user/show/1">
      одежда    </a>
    <div class="clear"></div>
  </div>
                      <div class="the_content">
              <span class="bord_white"></span>
              <div class="the_content_ins center">
                <div class="locations">
                                      <div>
                                              <a href="/battle" class="link_fight"><span class="link">Драка</span></a>
                                              <a href="/user/journal" class="link_events_act"><span class="link">События</span></a>
                                              <a href="/user" class="link_user"><span class="link">Персонаж</span></a>
                                          </div>
                                      <div>
                                              <a href="/showdown" class="link_battle"><span class="link">Разборки</span></a>
                                              <a href="#" class="dis_link link_clan_dis"><span class="link">Банды</span></a>
                                              <a href="/shop" class="link_shop"><span class="link">Маркет</span></a>
                                          </div>
                                      <div>
                                              <a href="/quests" class="link_quests"><span class="link">Квесты</span></a>
                                              <a href="/communication" class="link_communication"><span class="link">Общение</span></a>
                                              <a href="/money" class="link_payment"><span class="link">Банк</span></a>
                                          </div>
                                  </div>
              </div>
              <span class="bord_white"></span>
              <span class="bord_drk"></span>
            </div>
                  </div>
      </div><!-- #content-->
      <div id="footer">
                <a href="/"><span class="link">Главная</span></a>
                  <!--
                        | <a href="/library"><span class="link"></span></a>
                    -->
                      | <a href="/chat"><span class="link">Чат</span></a>
            | <a href="/settings"><span class="link">Настройки</span></a>
            | <a href="/user/logout">
              <span class="link">
                Другие игры              </span>
            </a>
                          <p>
          Шпана &copy; 2012,
                      IT-GEN.
                      <p>Онлайн: 367</p>
        </p>
      </div><!-- #footer -->
    </div><!-- #wrapper -->

              
    <div class="sn_hidden">    <div class="center">
      <a style="display: inline-block; text-decoration: none; height: 15px; width: 72px;" href="http://waplog.net/c.shtml?450016">
        <img style="border: none;" src="http://c.waplog.net/450016.cnt" alt="waplog" />
      </a>

      <script type="text/javascript" src="http://mobtop.ru/c/36180.js"></script>
      <noscript>
        <a style="text-decoration: none;" href="http://mobtop.ru/in/36180">
          <img style="border: none;" src="http://mobtop.ru/36180.gif" alt="MobTop.Ru - Рейтинг и статистика мобильных сайтов"/>
        </a>
      </noscript>
    </div>

    <!-- Yandex.Metrika counter -->
    <script src="//mc.yandex.ru/metrika/watch.js" type="text/javascript"></script>
    <script type="text/javascript">
      try { var yaCounter14134786 = new Ya.Metrika({id:14134786,
          clickmap:true,
          accurateTrackBounce:true, webvisor:true});}
      catch(e) { }
    </script>
    <noscript><div><img src="//mc.yandex.ru/watch/14134786" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
    <!-- /Yandex.Metrika counter -->

    </div>
  </body>
</html>
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
admirko
Я буквально вчера писал пример для задачи подобно вашей.
Там достаточно поменять три значения. Посмотрите пример внимательно!
 
Автор
A

admirko

Новичок
Сообщения
11
Репутация
0
Я буквально вчера писал пример
я смотрел пример, но у вас там у каждого span разные class'ы, а у меня одинаковые и больше для них ничего не заданно.


Добавлено:
Сообщение автоматически объединено:

к тому же внутри моего span'a там не только цифра, а еще ссылка и т.д.
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Там указан classname тега span, родителя, а далее по индексу (относительно родителя) выбирается дочерний тег.
У вас родителем для тега span является тег div и у него есть classname. И в чём проблема? :smile:


Добавлено:
Сообщение автоматически объединено:

admirko [?]
к тому же внутри моего span'a там не только цифра
Это не суть важно, потому как вам нужен текст.
 
Автор
A

admirko

Новичок
Сообщения
11
Репутация
0
OffTopic:
столько препятствий и уточнений :stars:
 
Автор
A

admirko

Новичок
Сообщения
11
Репутация
0
Garrett, не покидайте тему пожалуйста, я сейчас попробую и опишу результат.


Добавлено:
Сообщение автоматически объединено:

не вышло :(
Код:
$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
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Откуда вы взяли эту строку? :smile: Удалите.
Код:
$oSelect = _IEFormElementGetObjByIndex($oElement, "6")

Эта строка ищет не div! Div это родитель для span.
Код:
$oElement = _IETagNameGetCollection($oElement, 'div', 1) ; Тут нужно искать span

Пример менять не нужно поменяйте только значения.
 
Автор
A

admirko

Новичок
Сообщения
11
Репутация
0
ну а как мне тогда найти именно мой span :'(
Код:
$oElement = _IETagNameGetCollection($oElement, 'span', 1)

а как мне из 7 тех span'ов найти мой :'(
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Цифра в третьем параметре _IETagNameGetCollection есть индекс (порядковый номер) span ;)

admirko [?]
ну а как мне тогда найти именно мой span
В данном случае посчитать, и прописать индекс в функцию. Их не много :smile:
 
Автор
A

admirko

Новичок
Сообщения
11
Репутация
0
:laugh:ура, вышло. для конкретно моего случая выкладываю, вдруг столкнуться как и я с таким.
Код:
$oElements = _IETagNameGetCollection($oIE, 'div')
For $oElement In $oElements
   If $oElement.className == 'header-content' Then
	  $oElement = _IETagNameGetCollection($oElement, 'span', 7)
	  ConsoleWrite(_IEPropertyGet($oElement, 'innertext'))
	  ExitLoop
   EndIf
   Next



Добавлено:
Сообщение автоматически объединено:

OffTopic:
Garrett огромное тебе спасибо!!!
:IL_AutoIt_1:
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
admirko

[info border=#0000ff float=left]На форуме принято помечать тему решенной после получения ответа на свой вопрос!
Вверху или внизу темы нажмите на ссылку такого вида:
package_old.gif
Тема не решена
[/info]
 
Верх