@Kaboom: Deine Vermutungen zu meiner Vergangenheit in diesem Forum ist falsch und hat hier absolut nichts verloren. Das ist respektlos gegenüber meiner Person, die du nicht kennst und noch mehr gegenüber meiner Arbeit und Zeit die ich für diesen Thread aufgewandt habe. Wenn dir langweilig ist schreib dir lieber was eigenes. Kann die gelangweilten Skriftkiddies nicht verstehen, die durch Hilfe-foren streifen nur um letzenendes alles zu wiederholen, nur um auch mal was sagen zu dürfen.
Ich bin sehr wohl in der Lage die Regel zu befolgen, da ich mich mit reinem Wissen und Gewissen dafür entschieden habe das richtige zu tun. Wollen wir wetten, dass wenn ich nur stark genug suche, auch einen Grund finde, wieso jeder hier in diesem Forum schon mindestens einmal die Regeln gebrochen hat?! Sparen wir uns den Zickenkrieg und warten auf die Antwort von PS.
Beiträge von noXQses
-
-
Dachte mir nur, dass ich hier auf der sicheren Seite bin.
Hab es bisher etwa 3 mal deutlich gemacht. Wie oft muss ich mich denn noch wiederholen? Langsam komm ich mir hier vor wie bei ner Hexenjagd! Interessiert das Programmiertechnische an meinem Post hier niemanden? Ich iab mir seit 14 Stunden AutoIT beigebracht, von arrays über .inis bis hin zur GUI und menus und jetzt raubt ihr mir mehr Zeit damit mich rechtfertigen zu müssen als es Hilft hier gepostet zu haben...obv Fehlentscheidung. Allerdings kann man den Paragraphen auch mal genau unter die Lupe nehmen:
- 5.6 AUTOMATISCHE SPIELER (BOTS). Die Nutzung künstlicher Intelligenz - einschließlich, jedoch nicht begrenzt auf, "Robots" - ist in Verbindung mit der Dienstleistung strengstens verboten. Alle Handlungen, welche ein Nutzer in Bezug auf die Dienstleistung vornimmt, müssen von den Spielern persönlich über die Benutzeroberfläche vorgenommen werden, welche durch die Nutzung der Software zugänglich ist.
Zuersteinmal sieht man, dass die Richtlinien sich bei der Überschrift schon besonders auf AUTOMATISCHE SPIELER (Bots) bezieht, womit offensichtlich Bots gemeint sind, welche für den Benutzer, anstatt seiner sebst, spielen. Hier heist es auch "..., welche durch die Nutzung der Software zugänglich ist." Was deutlich zum Ausdruck bringt, dass nur von PokerStars bereitsgestellte Funktionen und Programme benutzt werden dürfen. Und das tun wir ja auch. Wir automatisieren sie bloß für eine leichtere Bedienung. Und ja, dort steht auch "persönlich über die Benutzeroberfläche vorgenommen". Und würde es nicht dort stehe, wäre ja alles erlaubt. Aber wie gesagt. Es gibt unzählige Programme, welche offiziell oder zumindest inoffiziell von Pokerseiten akzeptiert werden und die brechen diese Bedingungen definitiv!
Wie auch immer. Ich sage ja nicht, dass ihr unrecht habt. Ich kenne mich offensichtlich einfach nur besser aus. Werde jetzt noch die PokerStars Support-Antwort abwarten und hier posten. Dann könnt ihr noch drüber lachen und ich seh mich woanders nach Hilfe um oder ihr belohnt meinen Einsatz mit ein paar guten Ideen zur Problembehebung.
-
Ich kenne die Regeln in diesem Forum. Ich bin bin dessen sogar so sehr bewusst, dass ich von vornerein überlegte ob ich es hier oder lieber in einem anderen Forum posten sollte. Dachte mir nur, dass ich hier auf der sicheren Seite bin. Kenne aber auch unsere Mods hier, die auf solche Anfragen sehr gerne so reagieren. Alles was ich wollte war ein Wink mit dem Zaunpfahl oder ein Tipp in die richtige Richtung, sofern jemand eine kennt.
Aber gut, werde mal zur Belustigung den Support anschreiben und nachfragen ob ich ihre Nutzungsbedingunen brechen darf
-
Ich glaube wenn man es aus dieser Sicht betrachtet ist fast nichts mehr legal. Siehe Windows Datenschuterklärungen und Nutzungsbedingungen von jedem Programm/Browser das wir heutzutage nutzen Sicherheitsklauseln müssen dennoch vorhanden sein, um sich vor etwaigen Bedrohungen abzusichern, was ja verständlich ist. Dennoch gibt es so etwas wie eine Grauzone.
Nichtsdestotrotz kenn ich mich sehr gut aus mit PokerStars und kann dir versichern, dass es ziemlich viel Pokersoftware gibt, die einem sogar beim Pokern ganze Huds an den Tisch zaubern um seine Gegner besser schlagen zu können. Ich sag nur Pokertracker4, HoldemManager und Coffeehud. Alles übrigens völlig legal und von PokerStars und allen anderen Pokerseiten im netz offiziell zugelassen. Wenn ich es nicht sicher wüsste, würde ich "Also absolut nichts verbotenes!" bestimmt nicht so daherposten! Kannst ihnen gerne mal ne mail schicken und fragen. Die haben übrigens den besten Support den man im www finden kann. Da hättest du in spätestens 30minuten den Beweis.
Hoffe nun, du informierst dich etwas genauer anstatt die erstbeste Regel rauszusuchen die dagegenspricht und dich damit direkt zufrieden zu geben. Hoffe auch, dass andere sich davon jetzt nicht abschrecken lassen und meinen Post, der mich locker 1 Std gekostet hat ignorieren. Ich programmiere ja keine Pokerbots die für mich spielen, oder sharkystrator, huds, autoregister oder sonstirgendwelche finanziell bereichernden oder schädigenden Scripts! Es ist lediglich ein Erleichterungstool, sowie ein Login- oder Installations-Script an dem ich meine Freude habe, ebenso wie die Herausforderung etwas zu erschaffen!
Trotzdem Danke für's lesen und kritisch sein. Aber weniger A****loch-Modus wäre nice
-
Guten Morgen allerseits,
wünsche jedem einen guten Start in die Woche. Ich persönlich habe mir die komplette Nacht um die Ohren gehauen um eine Idee zu verwirklichen, von der ich ausging, dass es im Grunde machbar sein sollte. Bin dabei jedoch auf ein paar Probleme gestoßen und suche seitdem nach einer Lösung. Leider bekomme ich langsam das Gefühl, dass es weitaus komplizierter ist als geahnt. Daher Frage ich einfach mal euch was ihr davon haltet. Ich möchte dazu sagen, dass ich seit Jahren mit AutoIT arbeite, allerdings nie wirklich etwas großes. Allerdings kenne ich mich mitlerweile etwas aus und lerne sehr schnell, sofern es etwas content gibt. Studiere atm Informatik und hatte früher viel mit C++ zu tun. Also nicht ganz untalentiert.
Die Idee klingt zuerst sehr einfach: Ich spiele auf PokerStars des öfteren etwas Poker. Dort gibt es eine Suchfunktion (Strg+F) welche das Fenster "Find a Player" öffnet. Hier kann man nun einen Spielernamen eingeben und sich in einem neuen ("Find a Player")-Fenster anzeigen lassen, in welchen Turnieren er gerade sitzt (sofern dieser diese Funktion nicht in den Optionen deaktiviert hat). Bis hierhin nichts besonderes.
Mein Plan ist jedoch, die Suchfunktion z.B. alle 10-30 Sekunden automatisch laufen zu lassen, sodass ich meinem Freund folgen kann, sobald er z.B. in einem MultiTableTournament (MTT) zufällig auf einen anderen Tisch gesetzt wird, ohne, dass ich erneut manuell nach ihm suchen muss. Also absolut nichts verbotenes! Ich möchte lediglich die Such-Funktion automatisieren. Habe mir dafür ein nützliches GUI gebastelt, wo ich neue Spieler hinzufügen/löschen kann.
Da ich wärend das automatisierte Such-script läuft, gleichzeitig selbst Pokern und am PC arbeiten möchte ist es wichtig, dass die Suchbefehle im Hintergund ausführbar sind was das ganze leider etwas erschwert.So siehts aus, wenn man STRG+F drückt:
Die Window-Infos zum Editfeld des Fensters:Problem #1: Habe es vorerst auf die einfachste Art probiert. Mit WinExists("PokerStars Lobby") erstmal prüfen ob die PokerStars Lobby geöffnet ist, np. Doch selbst wenn ich WinAvtivate benutze kann ich durch den Send("^!F") nicht die Suchfunktion öffnen. War sowieso nicht mein Plan, weshalb ich mit dem WinInfo-Tool versuchte die nötigen Infos auszulesen, um diese direkt und wenn möglich auch im Hintergrund auszuführen. Würde es mit ControlSend("Find a Player", "", "[CLASS:Edit; INSTANCE:1]", "Spielername") versuchen, komme aber nicht dazu, das Fenster überhaupt zu öffnen. Gibt es da weitere Möglichkeiten um das Suchen-Fenster, wenn möglich, im Hintergrund zu öffnen/auszuführen? Will hier Pixel/Picture-Search gänzlich vermeiden. Wenn möglich nur den Befehl senden und die Infos abfangen, ohne, dass man dabei bei der Arbeit am PC beeinträchtigt oder getört wird. Da es sich um eine Funktion eines fremden Programmes handelt weis ich nicht ob das überhaupt geht.
Hat man erst einmal jemanden eingegeben, den man suchen möchte, so öffnet sich folgendes Fenster:
Die Infos zum ListCLass:Problem #2: Hier ist das Ziel, jeden angezeigten Tisch (üblich mit Doppellclick) zu öffnen und anzeigen zu lassen, solange der gesuchte Spieler daran sitzt. Steht der Spieler auf, soll der Tisch wieder geschlossen werden. Das schliessen ist dabei das kleinste Hinderniss. Die Frage ist hier im Grunde die selbe, nämlich ob es hier nun auch eine Möglichkeit gibt das Programm durchlaufen zu lassen ohne es tatsächlich zu sehen und trotzdem jede Spalte(Tisch) der Liste irgendwie zu öffnen.
Gibt es einen Weg an den ich nicht gedacht habe? Speicher auslesen mit ner APIHook scheint etwas zu extrem und PixelSearch zu einfach, da das Programm wenn möglich im Hintergrund ablaufen soll. Wenn jemand einen Lösungsvorschlag, eine Idee oder Richtung kennt, die mir hier weiterhelfen könnte wäre ich für jede Inspiration sehr dankbar. Falls Ihr mehr Informationen benötigt, gebt mir bescheid, dann tue ich mein Bestes um euch diese schnellstmöglich zu liefern. PokerStars ist zudem kostenlos downloadbar, falls sich jemand mal intensiever daran probieren möchte. Hier ist mein Code. Ist ja noch am Anfang aber macht ja wenig Sinn weiter zu machen, sofern derartige Probleme unklar sind. Nicht wundern, dass hier keine falschen Lösungsansätze drinstehen, macht ja keinen Sinn, wenn es nicht funktioniert.
Code:
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <GuiListView.au3>;declarations
Dim $msg, $Window_Menue, $Menue_File, $Menue_Help, $hListView, $Menue_ListView, $Button_Start, $Button_Stop, $Button_Exit, $Button_AddPlayer, $NewPlayer, $YesOrNo, $TrackingInAction = 0Sleep(300)
$Window_Menue = GUICreate("ShadowTracker v1.0", 790, 340, 1000, 350)$Menue_File = GUICtrlCreateMenu("File")
$Menue_File_1 = GUICtrlCreateMenuItem("Add Player", $Menue_File)
$Menue_File_2 = GUICtrlCreateMenuItem("Delete All", $Menue_File)
$Menue_File_3 = GUICtrlCreateMenuItem("Exit", $Menue_File)$Menue_Help = GUICtrlCreateMenu("Help")
$Menue_Help_1 = GUICtrlCreateMenuItem("Support", $Menue_Help)$hListView = GUICtrlCreateListView("Player|Track|Live|Active Tables|Time (hours)|Last action", 130, 10, 650, 300, -1)
$Menue_ListView = GUICtrlCreateContextMenu($hListView)
$Menue_ListView_1 = GUICtrlCreateMenuItem("Track On/Off", $Menue_ListView)
$Menue_ListView_2 = GUICtrlCreateMenuItem("Reset Time(hours)", $Menue_ListView)
$Menue_ListView_3 = GUICtrlCreateMenuItem("Delete", $Menue_ListView)_GUICtrlListView_SetColumnWidth($hListView, 0, 150)
_GUICtrlListView_SetColumnWidth($hListView, 1, 50)
_GUICtrlListView_SetColumnWidth($hListView, 2, 60)
_GUICtrlListView_SetColumnWidth($hListView, 3, 90)
_GUICtrlListView_SetColumnWidth($hListView, 4, 100)
_GUICtrlListView_SetColumnWidth($hListView, 5, 195)$Button_Start = GUICtrlCreateButton("Start Tracking", 10, 10, 100, 20)
$Button_Stop = GUICtrlCreateButton("Stop Tracking", 10, 40, 100, 20)
$Button_Exit = GUICtrlCreateButton("Close", 10, 290, 100, 20)GUISetState()
While 1
$msg = GUIGetMsg()
Switch $msg
case -3
$YesOrNo = MsgBox(1, "Exit", "Do you want to close ShadowTracker?")
If $YesOrNo == 1 Then
Exit
EndIfcase $Button_Start
$TrackingInAction = 1
_CheckLobby()case $Menue_File_1
$NewPlayer = InputBox("Add new Player", "Enter new players name:", "", "", 200, 120)
GUICtrlCreateListViewItem($NewPlayer & '|' & "ON" & '|' & "" & '|' & "" & '|' & "" & '|' & "", $hListView)case $Menue_File_2
_DeleteAll()case $Menue_File_3
$YesOrNo = MsgBox(1, "Exit", "Do you want to close ShadowTracker?")
If $YesOrNo == 1 Then
Exit
EndIfcase $Menue_ListView_1
case $Menue_ListView_2
case $Menue_ListView_3
_DeletePlayer()case $Button_Stop
$TrackingInAction = 0case $Button_Exit
$YesOrNo = MsgBox(1, "Exit", "Do you want to close ShadowTracker?")
If $YesOrNo == 1 Then
Exit
EndIf
EndSwitch
WEndFunc _CheckLobby()
If WinExists("PokerStars Lobby") Then
MsgBox(0, "Client found", "Poker-Client ready", 3)
Else
MsgBox(0, "Client not found!", "Poker-Client not found!", 3)
EndIf
EndFuncFunc _DeletePlayer()
_GUICtrlListView_DeleteItemsSelected($hListView)
EndFuncFunc _DeleteAll()
$YesOrNo = InputBox("Caution", "You are about to DELETE all Players statistics! If you want to preceed type 'YES'")
If $YesOrNo == "YES" Then
_GUICtrlListView_DeleteAllItems($hListView)
MsgBox(0, "Delete complete", "All Players deleted", 5)
EndIf
EndFuncFunc _TrackMode()
EndFunc
Das GUI könnte dann etwa so aussehen:ich hoffe auf eure Unterstützung!
euer noXQses
-
Hallo,
das von SUeBo geschriebene Script zum auslesen von bestimmten Daten aus einer dynamisch erstellten Website ist bereits getestet worden und hat mit einigen Ausnahmen bestanden.
Allerdings gibt es Probleme mit manchen Unterordnern. Die meißten verfügen über 3, manche jedoch nur um 2. Daher fallen diese raus und werden nicht erfasst.
Hier ein Link zur Website auf die sich das Programm bezieht: http://www.offtek.de
Benötigt werden hier alle Informationen der Laptop Speicher, vom Modelname bis hin zum Preis eines jeden Moduls. Das sind etwa 200.000 Module.
Wenn jemand dabei helfen kann, das Script so umzuschreiben, dass es wirklich alle MarkenModelle einlesen kann, wäre ich sehr dankbar.
Spoiler anzeigen
C
Alles anzeigen#include <Array.au3> #include <Excel.au3> HotKeySet("!{n}", "_Exit") $sSource = __InetGetSource("http://www.offtek.de/laptopmemory.php?maincat=1&stid=1") $aManufact = StringRegExp($sSource, "(?<=href=')(\QModelType.php?stid=1&manu=\E([\w/-]+))", 3) If @error Then Exit ;~ _ArrayDisplay($aManufact) Global $aExcel[1][9] = [["Speichermodul", "Modulgröße", "Produkt-Kode", "Herst.-Kode", "Spezifikationen", "Marke", "Lagerstatus", "Garantie", "Preis"]] For $m = 0 To UBound($aManufact) - 1 Step 2 ConsoleWrite("+>===================================================================" & @CRLF) TrayTip($aManufact[$m + 1], "Wir sind beim nächsten Hersteller!", 10) $sSource = __InetGetSource("http://www.offtek.de/" & $aManufact[$m]) $aTyp = StringRegExp($sSource, "(?<=modeltype=).+?(?='>)", 3) If @error Then ContinueLoop ;~ _ArrayDisplay($aTyp) For $t = 0 To UBound($aTyp) - 1 TrayTip($aManufact[$m + 1], "Modeltype: " & $aTyp[$t], 3) If Not StringInStr($aTyp[$t], "&model=") Then $sSource = __InetGetSource("http://www.offtek.de/ModelSelect.php?stid=1&manu=" & $aManufact[$m] & "&modeltype=" & $aTyp[$t]) $aModel = StringRegExp($sSource, "model=([^']+)", 3) If @error Then ContinueLoop For $mo = 0 To UBound($aModel) - 1 $sSource = __InetGetSource("http://www.offtek.de/ModelData.php?stid=1&manu=" & $aManufact[$m] & "&modeltype=" & $aTyp[$t] & "&model=" & $aModel[$mo]) $aTitle = StringRegExp($sSource, 'class="titlebar">Speichermodule f.r (.+)</td>', 3) $aData = StringRegExp($sSource, "(?>middle'>([^<]+)).+?(?>middle'>([^<]+)).+?(?>middle'>([^<]+)).+?(?>a href='[^>]+>(.+?)</a>)(?>.+?returnValue"">([^<]+))(?>.+?returnValue""> ?([^<]+))(?>.+?returnValue"">([^<]+))(?>.+?(\d+,\d+) ?&euro)", 4) For $x = 0 To UBound($aData) - 1 _AddModul($aTitle[0], $aData[$x]) Next ;~ _ArrayDisplay($aExcel) ConsoleWrite("http://www.offtek.de/ModelData.php?stid=1&manu=" & $aManufact[$m] & "&modeltype=" & $aTyp[$t] & "&model=" & $aModel[$mo] & @CRLF) Next Else $sSource = __InetGetSource("http://www.offtek.de/ModelSelect.php?stid=1&manu=" & $aManufact[$m] & "&modeltype=0&model=" & $aTyp[$t]) $aTitle = StringRegExp($sSource, 'class="titlebar">Speichermodule f.r (.+)</td>', 3) $aData = StringRegExp($sSource, "(?>middle'>([^<]+)).+?(?>middle'>([^<]+)).+?(?>middle'>([^<]+)).+?(?>a href='[^>]+>(.+?)</a>)(?>.+?returnValue"">([^<]+))(?>.+?returnValue""> ?([^<]+))(?>.+?returnValue"">([^<]+))(?>.+?(\d+,\d+) ?&euro)", 4) For $x = 0 To UBound($aData) - 1 _AddModul($aTitle[0], $aData[$x]) Next ConsoleWrite("http://www.offtek.de/ModelSelect.php?stid=1&manu=" & $aManufact[$m] & "&modeltype=0&model=" & $aTyp[$t] & @CRLF) EndIf ConsoleWrite(@CRLF) Next ConsoleWrite("+>===================================================================" & @CRLF) ConsoleWrite(@CRLF & @CRLF) Next _ArrayDisplay($aExcel) $oExcelObj = _ExcelBookNew() _ExcelWriteSheetFromArray($oExcelObj, $aExcel) _ExcelBookClose($oExcelObj) Func __InetGetSource($s_URL) Local $sString = InetRead($s_URL) Local $nError = @error, $nExtended = @extended Return SetError($nError, $nExtended, BinaryToString($sString)) EndFunc ;==>__InetGetSource Func _AddModul($sName, $aArray) $iUbound = UBound($aExcel) ReDim $aExcel[$iUbound + 1][9] $aExcel[$iUbound][0] = $sName For $i = 1 To UBound($aArray) - 1 $aExcel[$iUbound][$i] = $aArray[$i] Next EndFunc ;==>_AddModul Func _Exit() Exit EndFunc ;==>_Exit
Mfg
Botaner
-
Sodale,
denke hiermit kann ich das Thema endlich abhaken. Bin nun seit 7 Uhr am testen und es wird wohl auch noch einige Stunden dauern.
Falls doch noch etwas sein sollte schreibe ich es natürlich nochmal rein, hoffe aber nicht
Noch einmal ganz herzlichen Dank.
MfG
Botaner
-
soooooo..
Dank der Hilfe von SEuBo ist das Projekt nun schon um einiges vorran gekommen.
So sieht es momentan aus:
Spoiler anzeigen
C
Alles anzeigen#include <Array.au3> #include <Excel.au3> $sSource = __InetGetSource("http://www.offtek.de/laptopmemory.php?maincat=1&stid=1") $aManufact = StringRegExp($sSource, "(?<=href=')(\QModelType.php?stid=1&manu=\E([\w/-]+))", 3) If @error Then Exit ;~ _ArrayDisplay($aManufact) Global $aExcel[1][9] = [["Speichermodul", "Modulgröße", "Produkt-Kode", "Herst.-Kode", "Spezifikationen", "Marke", "Lagerstatus", "Garantie", "Preis"]] For $m = 0 To UBound($aManufact) - 1 Step 2 $sSource = __InetGetSource("http://www.offtek.de/" & $aManufact[$m]) $aTyp = StringRegExp($sSource, "(?<=modeltype=).+?(?='>)", 3) If @error Then ContinueLoop ;~ _ArrayDisplay($aTyp) For $t = 0 To UBound($aTyp) - 1 If Not StringInStr($aTyp[$t], "&model=") Then $sSource = __InetGetSource("http://www.offtek.de/ModelSelect.php?stid=1&manu=" & $aManufact[$m] & "&modeltype=" & $aTyp[$t]) $aModel = StringRegExp($sSource, "model=([^']+)", 3) If @error Then ContinueLoop For $mo = 0 To UBound($aModel) - 1 $sSource = __InetGetSource("http://www.offtek.de/ModelData.php?stid=1&manu=" & $aManufact[$m] & "&modeltype=" & $aTyp[$t] & "&model=" & $aModel[$mo]) $aTitle = StringRegExp($sSource, 'class="titlebar">Speichermodule f.r (.+)</td>', 3) $aData = StringRegExp($sSource, "(?>middle'>([^<]+)).+?(?>middle'>([^<]+)).+?(?>middle'>([^<]+)).+?(?>a href='[^>]+>(.+?)</a>)(?>.+?returnValue"">([^<]+))(?>.+?returnValue""> ?([^<]+))(?>.+?returnValue"">([^<]+))(?>.+?(\d+,\d+) ?&euro)", 4) For $x = 0 To UBound($aData) - 1 _AddModul($aTitle[0], $aData[$x]) Next ;~ _ArrayDisplay($aExcel) ConsoleWrite("http://www.offtek.de/ModelData.php?stid=1&manu=" & $aManufact[$m] & "&modeltype=" & $aTyp[$t] & "&model=" & $aModel[$mo] & @CRLF) Next Else MsgBox(0, "", "Else") $sSource = __InetGetSource("http://www.offtek.de/ModelSelect.php?stid=1&manu=" & $aManufact[$m] & "&modeltype=" & $aTyp[$t]) EndIf Next Next _ArrayDisplay($aExcel) $oExcelObj = _ExcelBookNew() _ExcelWriteSheetFromArray($oExcelObj, $aExcel) _ExcelBookClose($oExcelObj) Func __InetGetSource($s_URL) Local $sString = InetRead($s_URL) Local $nError = @error, $nExtended = @extended Return SetError($nError, $nExtended, BinaryToString($sString)) EndFunc ;==>__InetGetSource Func _AddModul($sName, $aArray) $iUbound = UBound($aExcel) ReDim $aExcel[$iUbound + 1][9] $aExcel[$iUbound][0] = $sName For $i = 1 To UBound($aArray) - 1 $aExcel[$iUbound][$i] = $aArray[$i] Next EndFunc ;==>_AddModul
Dennoch ist es bisher noch nicht gelungen, das Programm ohne MsgBox "Else" fehlerfrei durchlaufen zu lassen. Nach etwa 3-5 Minuten kommt die erste und lässt man es weiterlaufen, in unterschiedlichen Zeitabständen immer wieder. Teste in diesem Moment was passiert wenn ich es bis zum ende durchlaufen lasse.
Findet jemand einen Fehler oder hat einen Verbesserungsvorschlag, dann bitte posten
-
Vorerst einmal entschuldigt bitte das Wort, dass ich in Zukunft nicht mehr mit meinen Plänen in Verbindung bringen werde.^^
Der Doppelpost kam zu Stande, da ich einiges an Infos bekommen habe, welche meine Suche nun ein wenig spezifizieren lassen.
Das mit Array ist bereits auch klar geworden, werde es dann einfach daraus weiter kopieren.
Ein Zugriff auf die Datenbank ist nach einem kurzen Gespräch leider vom Benutzer nicht erlaubt worden, weshalb ich nun die Möglichkeit habe alles per stgr+c > stgr+v herauszukopieren oder meinem Chef zu sagen, dass er es selbst machen darf
Ob die Betreiber der Website davon nun begeistert sind oder nicht ist zudem unerheblich, da es nicht verboten ist, sich informationen abzuschreiben.
Um hier also nicht noch mehr Platz mit Recht oder nicht zu vergeuden, bitte ich nun alle die um Hilfe, die sich mit der Materie gut auskennen und evtl. Spaß daran haben mir ein wenig mit der Planung unter die Arme zu greifen
-
Servus,
Ich habe Schwierigkeiten mit der Komplettstruktur meines Programms zum Auslesen von einzelnen Daten einer dynamischen Website
Da alles im endeffekt nur ein ellenlanger Batch ist, bei dem ich oft zurück springen muss, nachdem er mit einer Seite fertig ist, würde mein Bot ohne Hilfe Anderer mit Sicherheit um die 1000 Codezeilen benötigen XD....T.T
Der Tipp von SEuBo, StringRegExp zu nutzen, hat mir dabei bereits sehr weiter geholfen und mir viel Arbeit erspartZum Verständniss, hier der Link der Website (https://autoit.de/www.offtek.de) und eine grobe Erläuterung dazu, wie das Programm in etwa ablaufen sollte.
Gesucht ist in etwa folgendes:
-Öffne WebBrowser > https://autoit.de/www.offtek.de > Laptop Speicher
-Suche (Marke)Acer > Enter Unterordner1
-Check ob unterordner2 besteht > wenn ja > Enter Acer Unterordner2
-Check...
-Check ob unterordner"X" besteht > wenn nicht = ausleden & kopieren der Infos in Excel-Tabelle-Zurück > Unterordner"X"
-Enter > nächstes Modul > Copy infos
-...-Zurück > ...
-Zurück > Unterordner0
-Suche (nächste Marke) > Enter
-Check ob........usw...
Das muss alle Unterordner und Unterordner der Unterordner finden und daraus die nötigen Infos in die Excel Tabelle kopieren. Allerding gibt es einige Marken-Module, die z.B. nur "einen" oder "zwei" Unterordner haben.
Insgesammt sind es über 50 Marken-Module mit jeweils bis zu über 100 Unterordnern und Modulen. Daher weiß ich nicht wie ich all diese Bedingungen so klein wie möglich verpacken soll.Die Excel-Tabelle soll während der Durchführung automatisch miterstellt werden, da es nicht immer die gleiche Anzahl Module ist.
Hier ein Bsp. wie es ungefähr aussehen könnte:http://www.bilder-space.de/show_img.php?…g&size=original
Kann mir daher jemand evtl. ein gutes Skript empfehlen, welches mir zeigt, wie ich das Programm am effektivsten aufbauen kann?
Vielen Dank im Vorraus
MFG Botaner
Edit BugFix: Hab mal deinen Thread-Titel geändert, 'Botverwirklichung' war äußerst unglücklich gewählt.