Online User ermitteln
-
- [ gelöst ]
-
K1773R -
10. Juni 2009 um 00:28 -
Geschlossen -
Erledigt
-
-
[autoit]
#include <array.au3>
[/autoit]
$str = '<a href="index.php?page=User&userID=525">Noobstyler</a>' & @CRLF & _
'<a href="index.php?page=User&userID=564">IceAngel</a>'
$array = StringRegExp($str, 'userID=\d*">(.+)</a>', 3)
_ArrayDisplay($array) -
funzt super =)
ich brauch des für die Wer ist online? Liste, nur da geht es ned =/
also für hier: http://www.autoit.de/index.php?page=UsersOnline -
Hallo K1773R,
[autoit]#include <array.au3>
[/autoit]
$str = '<a href="index.php?page=User&userID=525">Noobstyler</a>' & @CRLF & _
'<a href="index.php?page=User&userID=564">IceAngel</a>'
$array = StringRegExp($str, 'userID=\d*">(.+)</a>', 3)
_ArrayDisplay($array)funzt super =)
ich brauch des für die Wer ist online? Liste, nur da geht es ned =/
also für hier: http://www.autoit.de/index.php?page=UsersOnline
Da es in die beiden User aus deinem Post #1 in diesem Forum nicht gibt, kann ich nur sagenZitat.
blubbstar hat dir für deinen Codeschnipsel aus einer HTML-Seite die gewünschten Infos herausgefiltert, wenn du ihm Infos unterschlägst, brauchst du dich auch nicht wundern, wenn das Resultat nicht das gewünschte ist,mfg (Auto)Bert
-
die links waren aus meinem forum der wer ist online liste. die ist genau gleich wie hier.
-
Das sollte gehen ->
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <INet.au3>
#include <String.au3>$HTML = _InetgetSource("http://autoit.de/index.php?page=UsersOnline")
[/autoit]
$HTML = StringMid($HTML, StringInStr($HTML,"initList('yourbox'")+18)
$HTML = StringMid($HTML, 1,StringInStr($HTML,"initList('useronlinebox'")-1)
$HTML = _StringBetween($HTML, "<a", "/a>")
$HTML = _ArrayToString($HTML, "",2)
$HTML = _StringBetween($HTML, ">", "<")
_ArrayDisplay($HTML) -
geile sache
leider geht das bei meinem forum (http://forum-darkgamex.dyndns.org/index.php?page=UsersOnline) nicht )=
dein script versteh ich leider voll ned =/ naja grundsätzlich scripts mit arrays hab ich probs kA why
kommt nur schwachsinn raus
währste so lieb und würdest mir des machen?
-
Kla kommt da Schwachsinn raus, da das nach schema von autoit.de gemacht ist
Probier mal das ->
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <INet.au3>
#include <String.au3>$HTML = _InetgetSource("http://forum-darkgamex.dyndns.org/index.php?page=UsersOnline")
[/autoit]
$HTML = StringMid($HTML, StringInStr($HTML,'<div class="userOnline">'))
$HTML = StringMid($HTML, StringInStr($HTML,'<tbody>')+7)
$HTML = StringMid($HTML, 1,StringInStr($HTML,'</tbody>')-1)
$HTML = StringRegExpReplace($HTML,'<(td|a|tr|font).*?(>)','')
$HTML = _StringBetween($HTML, '<p>', "</a>")
While 1
For $i = 0 To Ubound($HTML)-1
If StringInstr($HTML[$i], "strong") Then
$admin = StringRegExp($HTML[$i],"<strong>(.*?)</strong>",1)
$HTML[$i] = $admin[0]
EndIf
If StringInstr($HTML[$i], "Startseite") Then
_ArrayDelete($HTML, $i)
ExitLoop
EndIf
If StringInStr($HTML[$i], "Heute") Then
$HTML[$i] = StringRegExpReplace($HTML[$i],'Shoutbox','')
$HTML[$i] = StringTrimLeft(StringRegExpReplace($HTML[$i],'(<).*?(>)',''),12)
EndIf
Next
If $i = Ubound($HTML) Then Exitloop
Wend
_ArrayDisplay($HTML) -
haut "fast" hin
bekomm noch bissel mist )=Spoiler anzeigen
Code
Alles anzeigen[0]|K1773R [1]| »Wer ist online?«-Liste [2]|K1773R [3]|1 »Wer ist online?«-Liste [4]|Hetzer [5]|Noobstyler [6]|NIKE [7]|Anuron [8]| Heute, 19:41 Beitrag im Thema: »Geldspende für neuen Server. Wer würde wie viel evtl spenden? [9]|Graziella [10]|Spoooky [11]|Surri [12]|XxAsikxX [13]|TealC [14]|Systemlord Anubis [15]|heiniken [16]|Lonewolf [17]|Monragon [18]|s3r4 [19]| Mozilla/5.0 (Windows; U; Windows NT 6.0; de; rv:1.9.0.10) Gecko/2009042316 Firefox/3.0.10 (.NET CLR 3.5.30729) Heute, 19:35 Beitrag im Thema: »Geldspende für neuen Server. Wer würde wie viel evtl spenden? [20]|Muckl1
-
Witzig.. bei mir klappts problemlos!
Hier nochmal mit Rangunterscheidung:
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <INet.au3>
#include <String.au3>Local $z = 0
[/autoit] [autoit][/autoit] [autoit]$HTML = _InetgetSource("http://forum-darkgamex.dyndns.org/index.php?page=UsersOnline")
[/autoit] [autoit][/autoit] [autoit]
$HTML = StringMid($HTML, StringInStr($HTML,'<div class="userOnline">'))
$HTML = StringMid($HTML, StringInStr($HTML,'<tbody>')+7)
$HTML = StringMid($HTML, 1,StringInStr($HTML,'</tbody>')-1)
$HTML = StringRegExpReplace($HTML,'<(td|a|tr).*?(>)','')
$HTML = _StringBetween($HTML, '<p>', "</a>")
DIm $HTML2[Ubound($HTML)][2]
For $i = 0 To Ubound($HTML)-1
$HTML2[$i][0] = $HTML[$i]
NextWhile 1
[/autoit]
For $i = $z To Ubound($HTML2)-1
$z = $i
If StringInstr($HTML2[$i][0], "strong") Then
$mod = StringMid($HTML2[$i][0], StringInstr($HTML2[$i][0],'"')+1)
$mod = StringMid($mod, 1,StringInstr($mod,'"')-1)
Switch $mod
Case "red"
$HTML2[$i][1] = "Administrator"
Case "lime"
$HTML2[$i][1] = "Game Operator"
Case "blue"
$HTML2[$i][1] = "Super GameOperator"
Case "yellow"
$HTML2[$i][1] = "Forums Moderator"
Case "orange"
$HTML2[$i][1] = "VIP"
EndSwitch
$admin = StringRegExp($HTML2[$i][0],"<strong>(.*?)</strong>",1)
$HTML2[$i][0] = $admin[0]
Else
$HTML2[$i][1] = "Member"
EndIf
If StringInstr($HTML2[$i][0], "Startseite") Then
_ArrayDelete($HTML2, $i)
ExitLoop
EndIf
If StringInStr($HTML2[$i][0], ":") Then
$HTML2[$i][0] = StringRegExpReplace($HTML2[$i][0],'Shoutbox','')
$HTML2[$i][0] = StringTrimLeft(StringRegExpReplace($HTML2[$i][0],'(<).*?(>)',''),12)
EndIf
Next
If $i = Ubound($HTML2) Then Exitloop
Wend
_ArrayDisplay($HTML2)[img=http://img3.imagebanana.com/img/htsc6n0/Userlist.gif]
-
nice
hab rausgefunden warum es bei mir nicht geht, bei mir wird der user agent und ip angezeigt, kannst des noch rausfiltern dann wärs genial
hab dirn html source von meiner wer ist online liste reingetanEDIT 1:
omg .html darf ned hochgeladen werden, mach ich halt n rar -
Öhm lösch den Kram dann doch in der While Schleife mit ;P
Spoiler anzeigen
[autoit]#include <Array.au3>
[/autoit] [autoit][/autoit] [autoit]
#include <INet.au3>
#include <String.au3>Local $z = 0
[/autoit] [autoit][/autoit] [autoit]$HTML = _InetgetSource("http://forum-darkgamex.dyndns.org/index.php?page=UsersOnline")
[/autoit] [autoit][/autoit] [autoit]
;~ $HTML = FileRead(@DesktopDir&"\wer-ist-online.html")
$HTML = StringMid($HTML, StringInStr($HTML,'<div class="userOnline">'))
$HTML = StringMid($HTML, StringInStr($HTML,'<tbody>')+7)
$HTML = StringMid($HTML, 1,StringInStr($HTML,'</tbody>')-1)
$HTML = StringRegExpReplace($HTML,'<(td|a|tr).*?(>)','')
$HTML = _StringBetween($HTML, '<p>', "</a>")
DIm $HTML2[Ubound($HTML)][2]
For $i = 0 To Ubound($HTML)-1
$HTML2[$i][0] = $HTML[$i]
NextWhile 1
[/autoit]
For $i = $z To Ubound($HTML2)-1
$z = $i
If StringInstr($HTML2[$i][0], "strong") Then
$mod = StringMid($HTML2[$i][0], StringInstr($HTML2[$i][0],'"')+1)
$mod = StringMid($mod, 1,StringInstr($mod,'"')-1)
Switch $mod
Case "red"
$HTML2[$i][1] = "Administrator"
Case "lime"
$HTML2[$i][1] = "Game Operator"
Case "blue"
$HTML2[$i][1] = "Super GameOperator"
Case "yellow"
$HTML2[$i][1] = "Forums Moderator"
Case "orange"
$HTML2[$i][1] = "VIP"
EndSwitch
$admin = StringRegExp($HTML2[$i][0],"<strong>(.*?)</strong>",1)
$HTML2[$i][0] = $admin[0]
Else
$HTML2[$i][1] = "Member"
EndIf
If StringInstr($HTML2[$i][0], "Startseite") Or StringInstr($HTML2[$i][0], "Mozilla/5.0") Then
_ArrayDelete($HTML2, $i)
ExitLoop
EndIf
If StringInStr($HTML2[$i][0], ":") Then
$HTML2[$i][0] = StringRegExpReplace($HTML2[$i][0],'Shoutbox','')
$HTML2[$i][0] = StringTrimLeft(StringRegExpReplace($HTML2[$i][0],'(<).*?(>)',''),12)
EndIf
Next
If $i = Ubound($HTML2) Then Exitloop
Wend
_ArrayDisplay($HTML2) -
sry aber wenns iwas mit arrays ist krieg ichn schreikrampf kenn ich mich voll ned aus und raff des iwie ned.
nur noch etwas ist komisch:
[1]|
AutoIt v3
Heute, 20:19
»Wer ist online?«-Liste|Member -
Kein Plan.. bei mir klappt alles wunderbar. Wenn du von nem anderem Source Code ausgehst kann ich auch nix machen!
-
Bei mir klappt das:
[autoit]#include <Array.au3>
[/autoit][autoit][/autoit][autoit]
#include <INet.au3>;~ $HTML = _InetgetSource("http://autoit.de/index.php?page=UsersOnline")
[/autoit]
$HTML = _InetgetSource("http://forum-darkgamex.dyndns.org/index.php?page=UsersOnline")
$HTML = StringRegExp($HTML, "<tbody>(?s)(.*?)</tbody>",3)
$HTML = StringRegExp($HTML[0],'<a.*?page=User.*?>(?:<.*?>)*([^<>]+)', 3)
;~ MsgBox(0, '', $HTML[0])
_ArrayDisplay($HTML) -
schon oke
bin ja der einzigste der ips und user agenst sieht, werd das iwie noch rausfiltern! EIN GROSSES THX
-
Maan progandy schäm dich was! Was lässt du jemanden der nur ottonormalverbraucher von StringRegExp's ist solange schuften und kommst dann mit soner kurzen Lösung
-
lol progandys post hab ich ned gesehen da hab ich schon geantwortet
chaoskeks, deine version mit den rängen brauch ich fürn anderes script geiles teil
und thx progandy deins nimm ich für des wo ich eig gefragt hab =)ihr seit spitze
-
Hi,
[autoit]#Include <Array.au3>
[/autoit]
#include <INet.au3>
$source = StringRegExp(_INetGetSource("http://forum-darkgamex.dyndns.org/index.php?page=UsersOnline"), 'userID=.+(?:">|<strong>)(.*?)(?:|</strong></font>)</a></p></td>',3)
_ArrayDisplay($source)/Edit: Zu langsam
Aber ich habs in einer Zeile :P. -
lol anno2008 hat den jackpot gewonnen *g*
bei deinem ist nirgends irgend n kack geile sache -