Что нового

Поиск данных в HTML и выдергивание данных

zip-per

Новичок
Сообщения
30
Репутация
0
Доброго времени суток Вам!
Т.к. я только начал познавать азы с AutoIt, прошу не судить меня строго за такой нубский вопрос :-[
Знаю что мой ответ на поверхности, но видимо меня надо ткнуть в него носом! Поиск выдал много ответов, я в них просто утанул и не могу понять где есть истинно мой :(
Пишу простецкого бота для браузерной игры.
Имеем страницу с таким куском HTML:
Код:
</tr> 
<tr> 
<td class=wb align=center valign=top> 
<table cellspacing=1 cellpadding=0 border=0><tr><td style='font-size:8pt' align=right><a href=/statlist.php?r=seaweed>Молоко</a>:</td><td style='font-size:8pt'><b>20</b></td></tr><tr><td style='font-size:8pt' align=right><a href=/statlist.php?r=hleb>Хлеб</a>:</td><td style='font-size:8pt'><b>341</b></td></tr></table></td><td class=wb align=right valign=top> 
<table>
Как найти на данной странице число 341, относящееся к хлебу и записать это число в код AutoIt для дальнейшей работы с ним. Причем этой строки на странице вообще может и не быть, а число 341 может быть любым от 1 до 2000.
Заранее благодарен за ваши ответы!

P.S. Модераторы, если ответ на мой вопрос уже есть, можно ссылку мне в личку, а тему удалить.
 

dwerf

Использует ArchLinux
Сообщения
478
Репутация
218
Код:
$sHTML = "</tr> <tr> <td class=wb align=center valign=top> <table cellspacing=1 cellpadding=0 border=0><tr><td style='font-size:8pt' align=right><a href=/statlist.php?r=seaweed>Молоко</a>:</td><td style='font-size:8pt'><b>20</b></td></tr><tr><td style='font-size:8pt' align=right><a href=/statlist.php?r=hleb>Хлеб</a>:</td><td style='font-size:8pt'><b>341</b></td></tr></table></td><td class=wb align=right valign=top> <table>"

$aHleb = StringRegExp($sHTML, "<tr><td style='font-size:8pt' align=right><a href=/statlist\.php\?r=hleb>Хлеб</a>:</td><td style='font-size:8pt'><b>(\d*?)</b></td></tr>", 3)
If IsArray($aHleb) Then
	If UBound($aHleb) = 1 Then
		MsgBox(0, '', $aHleb[0])
	Else
		MsgBox(0, '', 'Найдено несколько вариантов.')
		For $sElement In $aHleb
			MsgBox(0, '', $sElement)
		Next
	EndIf
Else
	MsgBox(0, '', 'Хлеба нет.')
EndIf
 
Автор
Z

zip-per

Новичок
Сообщения
30
Репутация
0
dwerf
Спасибо! Малость запутался сперва в коде, но все сработало идеально!

Для тех у кого такой же вопрос, не забывайте переменной $sHTML присвоить код нужной страницы:

Код:
$sHTML = _INetGetSource('www.ххххх.ru')
 
Верх