Что нового

[Сеть, интернет] Как на Label вывести информацию с сайта?

Jigan777

Новичок
Сообщения
23
Репутация
0
Всем привет помогите только в коде мне нужно на лэйбл вывести инфо с сайта например вот это
Код:
<span id="reserve" class="value nowrap">519</span>
дак вот мне нужны имено цифры 519 и чтобы как я авторизуюсь они могли появится на лэйбл)
вот например надо какие то цифры вывести на лэйбл возьмём их <span id="reserve" class="value nowrap">519</span> как это сделать???
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Код:
$oElem = _IEGetObjById($oHtml, "reserve")
If Not @error Then
$sText = $oElem.innerTEXT
MsgBox(0, "text", $sText)
EndIf

Cоответственно вместо MsgBox ставите GUICtrlSetData для вывода в ваш label...
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Ты зачем два топика создал? :smile: Типо быстрей ответят? :smile:
 
Автор
J

Jigan777

Новичок
Сообщения
23
Репутация
0
alex33 сказал(а):
Ты зачем два топика создал? :smile: Типо быстрей ответят? :smile:
Ну а вдруг))) ;)


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

alex33 сказал(а):
Код:
$oElem = _IEGetObjById($oHtml, "reserve")
If Not @error Then
$sText = $oElem.innerTEXT
MsgBox(0, "text", $sText)
EndIf

Cоответственно вместо MsgBox ставите GUICtrlSetData для вывода в ваш label...
Не ты не понял))) мне нужно в Label
Код:
clude <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=


$Form1 = GUICreate("Ловади бот", 205, 180, 192, 124)
$Button1 = GUICtrlCreateButton("Авторизация", 72, 64, 75, 25)
$Input1 = GUICtrlCreateInput("", 64, 16, 121, 21)
$Input2 = GUICtrlCreateInput("", 64, 40, 121, 21)
$Label1 = GUICtrlCreateLabel("Логин:", 8, 24, 38, 17)
$Label2 = GUICtrlCreateLabel("Пароль:", 8, 48, 45, 17)
$Label3 = GUICtrlCreateLabel("Экю:", 16, 120, 28, 17)
$Label4 = GUICtrlCreateLabel("0", 48, 120, 10, 17)
$Label5 = GUICtrlCreateLabel("Лошади:", 16, 144, 47, 17)
$Label6 = GUICtrlCreateLabel("0", 64, 144, 10, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
	$nMsg = GUIGetMsg()
	Switch $nMsg
		Case $GUI_EVENT_CLOSE
			Exit
			Case $Button1
            $URL = "http://www.lowadi.com/site/doLogIn"
            $PostData = "&login=&"& $Input1 &"&password="& $Input2 &"&redirection=http%3A%2F%2Fwww.lowadi.com%2Fjeu%2F%3Fidentification%3D1&isBoxStyle=&1cf7cf527e="
            $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
            $oHTTP.Open("POST", $URL)
            $oHTTP.SetRequestHeader("Content-Type","application/x-www-form-urlencoded")
            $oHTTP.Send($PostData)
            $oHTTP.WaitForResponse
            $Response = $oHTTP.ResponseText

		Case $Form1
	EndSwitch
WEnd
А именно в label4 где 0 должен изменится в число которое будет здесь
Код:
<span id="reserve" class="value nowrap">519</span>
ну как то вроде нормально обьяснил))) просто видишь я еще новичек вообще в кодинге набрел на autolt мне он понравился и ярешил с него начать свой путь)) вот и игра как раз подвернулась но незаю как вывести в Label текст) с сайта в C# то проще
вот приме на си шарпе
Код:
 this.label4.Text = this.parse(text, "<strong>", "</strong>");
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
Код:
$object = _IEGetObjById( $oHtml, "reserve" )
If IsObj( $object ) Then _
    GUICtrlSetData( $Label4, $object.innerTEXT )
 
Автор
J

Jigan777

Новичок
Сообщения
23
Репутация
0
firex сказал(а):
Код:
$object = _IEGetObjById( $oHtml, "reserve" )
If IsObj( $object ) Then _
    GUICtrlSetData( $Label4, $object.innerTEXT )
Код:
$object = _IEGetObjById( $oHtml, "reserve" )
$object = ^ ERROR

Эта ошибка и в коде алекса вылазит при авторизации




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

Вот логин и пароль на всякий случай chika72rus;ganja2013 на эту игру) помогите плиз сделать хотя чтобы авторизация и вот этот текст с экю выводился
 

firex

AutoIT Гуру
Сообщения
943
Репутация
208
0240edc777.png

Обратите внимание на первую строчку.
 
Автор
J

Jigan777

Новичок
Сообщения
23
Репутация
0
все равно ошибка выходит я не сильно смыслю что делать надо еще) подмогните кто нибуть)
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
OffTopic:
Jigan777 [?]
я еще новичек вообще в кодинге набрел на autolt мне он понравился и ярешил с него начать свой путь
но незаю как вывести в Label текст
с сайта в C# то проще
Если C# проще, зачем себя мучить Autoit`ом? ;D

Jigan777 [?]
сделать хотя чтобы авторизация и вот этот текст с экю выводился
Если через IE, то поиск вам в помощь, тем на форуме хватает.
Если вы решили использовать объект WinHttp.WinHttpRequest.5.1, то вот вам пример.

ВНИМАНИЕ!!! Это всего лишь пример!
Код:
#include<Array.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Global $oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")

_Cache("url", "http://www.lowadi.com/site/doLogIn")
_Cache("useragent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_7; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.205 Safari/534.16")

$Form1 = GUICreate("Лошади бот", 210, 179, 466, 366)
$Label1 = GUICtrlCreateLabel("Логин:", 29, 18, 38, 17)
$Input1 = GUICtrlCreateInput("chika72rus", 67, 16, 121, 21)
$Label2 = GUICtrlCreateLabel("Пароль:", 22, 43, 45, 17)
$Input2 = GUICtrlCreateInput("ganja2013", 67, 41, 121, 21)
$Button1 = GUICtrlCreateButton("Авторизация", 67, 70, 121, 25)
$Label3 = GUICtrlCreateLabel("ЭКЮ:", 37, 122, 30, 17)
$Label4 = GUICtrlCreateLabel("", 67, 122, 121, 17)
$Label5 = GUICtrlCreateLabel("Лошади:", 20, 146, 47, 17)
$Label6 = GUICtrlCreateLabel("", 67, 146, 121, 17)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
		Case $Button1
			_Authorization($Input1, $Input2)
            GUICtrlSetData($Label4, _ECU(_Request()))
    EndSwitch
WEnd

Func _Authorization($sLogin, $sPassw)

	Local $sPostData = StringFormat("&login=%s&password=%s&redirection=http%3A%2F%2Fwww.lowadi.com%2Fjeu%2F%3Fidentification%3D1&isBoxStyle=&1cf7cf527e=", GUICtrlRead($sLogin), GUICtrlRead($sPassw))
	_Cache("login", $sLogin)
	_Cache("passw", $sPassw)
	
	$oHTTP.Open("POST", _Cache("url"), false)
	$oHTTP.SetRequestHeader("User-Agent", _Cache("useragent"))
	$oHTTP.SetRequestHeader("Host", "www.lowadi.com")
	$oHTTP.SetRequestHeader("Origin", "http://www.lowadi.com")
	$oHTTP.SetRequestHeader("Accept", "text/html, */*; q=0.01")
	$oHTTP.SetRequestHeader("Content-Length", StringLen($sPostData))
	$oHTTP.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")
	$oHTTP.SetRequestHeader("Connection", "keep-alive")
	$oHTTP.Send($sPostData)

	If StringInStr($oHTTP.responseText, 'redirection') Then
		_Cache("url", StringRegExpReplace(StringReplace($oHTTP.responseText, "\", ""), '{"redirection":"(.*)"}', "$1"))
		_Cache("cookie", $oHTTP.getResponseHeader("Set-Cookie"))
		Return 1
	Else
		Return 0
	EndIf
EndFunc ;==>_Authorization

Func _Cache($sKey, $sValue = "")
	
	If Not IsDeclared("Cache") Then
		Assign("Cache", ObjCreate("Scripting.Dictionary"), 2)
		Local $oCache = Eval("Cache") 
	Else
		Local $oCache = Eval("Cache") 
	EndIf
	
	If $sValue = "" Then
		If $oCache.Exists($sKey) Then
			$sRet =  $oCache.Item($sKey)
			Return $sRet
		EndIf
	Else
		If $oCache.Exists($sKey) Then
			$oCache.Item($sKey) = $sValue
		Else
			$oCache.Add($sKey, $sValue)
		EndIf		
	EndIf
EndFunc ;==>_Cache

Func _Request()

	$oHTTP.Open("GET", _Cache("url"), false)
	$oHTTP.SetRequestHeader("User-Agent", _Cache("useragent"))
	$oHTTP.SetRequestHeader("Host", "www.lowadi.com")
	$oHTTP.SetRequestHeader("Origin", "http://www.lowadi.com")
	$oHTTP.SetRequestHeader("Accept", "text/html, */*; q=0.01")
	$oHTTP.SetRequestHeader("Cookie", _Cache("cookie"))
	$oHTTP.SetRequestHeader("Connection", "keep-alive")
	$oHTTP.Send()
	$sHTML = $oHTTP.responseText

	Return $sHTML
EndFunc ;==>_Request

Func _ECU($sData)

	$aECU = StringRegExp($sData, 'id="reserve".*?>([\d|\s]+)', 3)
	Return $aECU[0]
EndFunc ;==>_ECU

P.S. Если вы не будите принимать участие в написание большей части своего кода, то я перенесу тему в стол заказов!
 

BlackRock

Новичок
Сообщения
16
Репутация
0
Дабы не плодить кучу лишних тем спрошу здесь, а как вывести значения, если нет ни имени ни ид? Каждое значение мне нужно вывести в отдельный label и использовать их в дальнейшем при проверках условий.

Код:
<div class="context"><img src="http://sait/style/post.png" alt=""> 252360 <img src="http://saits/style/post2.png" alt=""> 1291  <img src="http://sait/style2/timer.png" alt=""> 11:27</div>
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
BlackRock [?]
Дабы не плодить кучу лишних тем спрошу здесь

Предупреждение За нарушение общих правил (пункт В.4):
Не лепите несколько вопросов разной тематики в один пост. По типу "Ребят, а ещё такой вопрос...". Каждый вопрос в свою тему.


С уважением, ваш Модератор.
 
Верх