Text aus einer Website auslesen

03/11/2013 19:08 Mulan1#1
LG Mulan1
03/11/2013 20:01 omer36#2
PHP Code:

#include <IE.au3>

#region ### START Koda GUI section ### Form=
$Form1 GUICreate("Form1"623442193126)
$Button1 GUICtrlCreateButton("Suchen"20816814525)
$Input1 GUICtrlCreateInput("Input1"14412026521)
GUISetState(@SW_SHOW)
#endregion ### END Koda GUI section ###

$url "http://www.google.de"
$Anzahl 0

While 1
    $nMsg 
GUIGetMsg()
    Switch 
$nMsg
        
Case -3
            
Exit
        Case 
$Button1
            $IE 
_IECreate($url""0)
            
$text _IEBodyReadText($IE)
            For 
$i 1 To StringLen($text)
                If 
StringMid($text$iStringLen(GUICtrlRead($Input1))) = GUICtrlRead($Input1Then $Anzahl += 1
            Next

            MsgBox
(0""$Anzahl)

    EndSwitch
WEnd 
so währen sie zwar verbunden, aber ich bezweifle, dass dein 2. script so funktioniert
03/11/2013 20:42 lolkop#3
_IE funktionen nutzen ist wirklich mit abstand die schlechteste methode den inhalt einer seite zu laden... wenn dann wenigstens inetread...

im besten falle sollte man das ganze über tcp funktionen aufbauen, um so in der lage zu sein, das gui auch bei sehr großen inhalten nicht zu blockieren...

bsp:
Code:
Dim $socket, $current, $full, $check = False
GUICreate('SearchOnSite', 300, 120, Default, Default, 0x10C80000)
GUICtrlCreateGroup('URL', 10, 10, 220, 50)
$urlControl = GUICtrlCreateInput('www.elitepvpers.com', 15, 30, 210, 20)
GUICtrlCreateGroup('Search String', 10, 60, 220, 50)
$searchControl = GUICtrlCreateInput('blubb', 15, 80, 210, 20)
$goButton = GUICtrlCreateButton('Search!', 240, 15, 50, 45)
$status = GUICtrlCreateLabel('idle', 240, 75, 50, 45, 0x1)

TCPStartup()

While True
	Switch GUIGetMsg()
		Case -3
			TCPShutdown()
			Exit
		Case $goButton
			$full = ''
			$socket = Get(GUICtrlRead($urlControl))
			If $socket = False Then
				GUICtrlSetData($status, 'FAIL!')
			Else
				$check = True
				GUICtrlSetData($status, 'searching')
			EndIf
		Case Else
			If $check Then
				$current = TCPRecv($socket, 256)
				If $current <> '' Then $full&=$current
				If StringRight($current, 7) == @CRLF&0&@CRLF&@CRLF Then
					$check = False
					If StringInStr($full, GUICtrlRead($searchControl)) Then
						GUICtrlSetData($status, 'FOUND!')
					Else
						GUICtrlSetData($status, 'NOT FOUND!')
					EndIf
				EndIf
			EndIf
	EndSwitch
WEnd

Func Get($url)
	$url = StringReplace($url, 'http://', '', 1)
	Local $inputArray[2]=[$url,'']
	If StringInStr($url, '/') Then $inputArray = StringRegExp($url, "(.+?)/(.*)", 1)
	If Not IsArray($inputArray) Then Return False
	Local $socket = TCPConnect(TCPNameToIP($inputArray[0]), 80)
	If $socket = -1 Then Return False
	TCPSend($socket, "GET /"&$inputArray[1]&" HTTP/1.1"&@CRLF&"Host: "&$inputArray[0]&@CRLF&"User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0"&@CRLF&"Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"&@CRLF&"Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3"&@CRLF&"Connection: keep-alive"&@CRLF&@CRLF)
	Return $socket
EndFunc
03/12/2013 05:33 Mulan1#4
Danke lolkop :)

Das Script ist echt super.

LG Mulan1