1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. DDiSoEsT

Beiträge von DDiSoEsT

  • Grafik auf Webseite auslesen, herunterladen, atomatisiert

    • DDiSoEsT
    • 3. April 2019 um 17:19

    Okey, ich hab das jetzt soweit, nur zeigt er mir das array nicht an..

    C
    #include <GDIPlus.au3>
    #include <Array.au3>
    #include <File.au3>
    #include <inet.au3>
    #include <IE.au3>
    #include <String.au3>
    
    Local $Spieltag = 'https://www.werder.de/de/tickets/tickets-bestellen/bestellung/?iid=384&type=default&contentId=6445&sf2Path_6445=%2Fticket%2Fdefault%2Fprocess%3Fiid%3D384%26type%3Ddefault'
    
    $ans = MsgBox(3, 'URL?', 'Moechtest du eine neue Seite eines neuen Spieltages eingeben?')
    If $ans = 6 Then
    $Spieltag = InputBox( 'Eingabe neue URL', 'Wie lautet die neue URL des Spieltags?')
    EndIf
    
    sleep(4000)
    
    
    Local $dData = InetRead($Spieltag)
    Local $sData = BinaryToString($dData)
    FileWrite('htmlwerder.txt',$sData)
    
    $start = 'ticketWebUrl = '
    $ende = ' ,'
    Local $URL = _StringBetween($sData,$start,$ende)
    _ArrayDisplay($URL, 'DefaultSearch')
    Alles anzeigen
  • Grafik auf Webseite auslesen, herunterladen, atomatisiert

    • DDiSoEsT
    • 3. April 2019 um 16:36

    Ja, nur wie komme ich darauf, also wie lese ich den zB aus? Mein aktueller ansatz sieht so aus, dass ich aus der Webseite den Sourcecode in eine txt packe und die dann mit string between durchschaue nach dem link.. Hab das Gefühl ich bin auf dem Holzweg

  • Grafik auf Webseite auslesen, herunterladen, atomatisiert

    • DDiSoEsT
    • 3. April 2019 um 16:17

    Ich denke ich habs tatsächlich verstanden.. Was mir allerdings noch fehlt, wie kommst du auf den ersten Link? Also der, wo nur das stadion angezeigt wird?

  • Grafik auf Webseite auslesen, herunterladen, atomatisiert

    • DDiSoEsT
    • 3. April 2019 um 14:00

    oKey, ich glaube an dieser Stelle bin ich mit meinem Latein am Ende. Ich werd mir die Begriffe jz erstmal alle ergooglen und dann guck ob ich das irgendwie geschustert bekomme. Melde mich später nochmal, erstmal vielen Dank für deine Mühe!

  • Grafik auf Webseite auslesen, herunterladen, atomatisiert

    • DDiSoEsT
    • 3. April 2019 um 13:49

    Ok, ich stell mir gerade die Frage wie ich den in autoit abfrage.. ist IERead ein Ansatz? Oder Quellcode als Text abspeichern und dann mit StringinString nach dem Link suchen? Bevor ich wieder 3 Tage auf nem falschen Pfad verbringe...

  • Grafik auf Webseite auslesen, herunterladen, atomatisiert

    • DDiSoEsT
    • 3. April 2019 um 13:45

    Ok danach habe ich seit Wochen vergeblich auf der Webseite gesucht, kann es sein dass einem dass nur bei Chrome angezeigt wird? hab mir gerade mal Chrome gezogen und prompt gefunden, was du auch gefunden hast.. Bei Mozilla war ich scheinbar zu doof..

  • Grafik auf Webseite auslesen, herunterladen, atomatisiert

    • DDiSoEsT
    • 2. April 2019 um 20:33

    Hallo, habe ein kleines Programm geschrieben, was den User benachrichtigt, wenn Sitzplätze im Stadion frei sind. Kleines Problem dabei ist, dass ih für jeden Spieltag alle 147 Urls für die 147 Blöcke aktualisieren muss.. Gibt es einen Weg, zB über die html die Links zu den Grafiken automatisch zu bekommen? Das Problem ist, dass man erst zu den Links der Blockgrafik mit den Sitzplätzen kommt, wenn man auf den jeweiligen Block auf der Stadiongrafik auf dieser Seite klickt:

    https://www.werder.de/de/tickets/tic…6type%3Ddefault

    Irgendwo müssen ja die gesamten Links zu jedem Block hinterlegt sein, nur wie kommt man automatisiert daran, ohne immer aktiv auf den Block zu klicken?

    Ich hoffe ich habe mich halbwegs verständlich ausgedrückt, bei Fragen fragen, ich danke euch schonmal,

    LG Kai

  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 31. März 2019 um 21:36

    noch jemand eine Idee, beiße mir die Zähne aus gngn

  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 31. März 2019 um 13:10

    oKey, also wenn ich das richtig verstanden habe, muss ich aus dem bild eine bitmap machen, daraus einen string und den denn mit stringinstring nach meinen farbigen Pixeln durchsuchen, richtig? Ich hab jetzt einiges gelesen im Netz, komme aber nicht richtig darauf wie ich das anstellen soll.. ich glaube ich weiß nich nach welchen Befehlen ich überhaupt suchen muss, zumal ich immernoch verwirrt bin, da ich denke Pixelsearch öffnet doch immer ein fenster bzw benötigt koordinaten auf dem bildschirm?

    Anbei mal der Teil des Programms, der sich um die Bilder mit den Sitzplätzen kümmert und das passende Bild als Beispiel dazu:

    Dateien

    Block111.png 5,18 kB – 0 Downloads Sitzplatzsucher.au3 2,22 kB – 312 Downloads
  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 31. März 2019 um 11:12

    ok werde mich die nächste std mal akribisch damit beschäftigen, poste nacher dann was ich soweit habe.

    Btw find ichs wirklich erstaunlich wie hilfsbereit einige sind, wirklich super! Da bekommt man als eingerosteter im bereich programmieren glatt den zweiten Frühling:D

  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 30. März 2019 um 21:42

    Ich verstehe nicht genau, wie ich das mit Pixelsearch umsetzen soll, damit muss ich die bilder soch immer öffnen oder wie muss ich das verwenden?

    Habe soweit alles am laufen mit diesem gdiplus, er gibt mir am ende immer eine kordinate eines pixels eines freien Platzes und vergleicht deren abstände, falls mehrere vorhanden sind. Sind 2 Plätze dich nebeneinander auf der x-Koordinate bekomme ich eine nachricht aufs Handy, soweit also sehr gut und an dieser Stelle nochmal lieben Dank für eure Mühe!

    Was mir nun noch etwas Kopfzerbrechen macht sind die Links zu den einzelnen Blöcken, denn diese muss ich bei jedem 'Spieltag' erneuern. Gibt es einen Weg, dass sich dass Programm die $url, hinter der sich die Grafik von den Sitzplätzen des Blockes verbergen automatisch zieht?

    Tut mir leid wenn ich dumme Fragen stelle, mehr als Erfahrungen in Java bis Klasse 12 am Gym und TI+ von den alten Taschenrechnern bringe ich leider nicht mit, bin im Moment Tag und Nacht am einlesen bis die Birne qualmt gngn.

    Achja, ich würde mich trotzdem seh interessieren, wie das mit Pixelsearch im genaueren funktioniert, da dass logischerweise schneller gehen würde.. Im Moment benötige ich ca. 12 Sek pro Block, was beschränkt auf etwa 16 Lukrative Blöcke ein delay delta von maximal ~ 3min ergibt..

  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 30. März 2019 um 00:45
    C
    #include <GDIPlus.au3>
    #include <Array.au3>
    #include <File.au3>
    
    Local $Array = 'C:\Users\Kai\Dektop\Werder Tickets\123.txt'
    Global $aPos[0][2]
    Global $arr[0][2]
    Global Const $I_COLORa = 0x0FF04CEFC ;0 (vor dem FF) wird benötigt, da die Zahl sonst negativ ist)
    Global Const $I_COLORb = 0x0FF046AFC
    Global Const $I_COLORc = 0x0FF04AAFC
    Global Const $I_COLORd = 0x0FF0CFE04
    _GDIPlus_Startup()
    
    $hBitmap = _GDIPlus_BitmapCreateFromFile("C:\Users\Kai\Desktop\Werder Tickets\Bilder\Block6.png")
    
    For $y = 0 To _GDIPlus_ImageGetHeight($hBitmap) - 1
    For $x = 0 To _GDIPlus_ImageGetWidth($hBitmap) - 1
    If _GDIPlus_BitmapGetPixel($hBitmap, $x, $y) = $I_COLORa Then
    ReDim $aPos[UBound($aPos) + 1][2]
    $aPos[UBound($aPos) - 1][0] = $x
    $aPos[UBound($aPos) - 1][1] = $y
    EndIf
    Next
    Next
    
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_Shutdown()
    
    _ArrayDisplay($aPos)
    $si = $aPos[0][0]
    MsgBox(1, 'hi', $si)
    Local $a=0
    Local $b=0
    Local $c=0
    Local $d=0
    While true
    If $aPos[$a][$b] = $aPos[$a+1][$b]  Then
    $a = $a+1
    $b = $b+1
    Else
    ReDim $arr[UBound($arr) + 1][2]
    $arr[UBound($arr) - 1][0] = $aPos[$a][$b]
    $arr[UBound($arr) - 1][1] = $aPos[$c][$d]
    MsgBox(1, 'hi', $a)
    $a = $a+1
    $b = $b+1
    EndIf
    WEnd
    Alles anzeigen

    okey, das ist mein aktueller stand, jetzt geht er unten in den 2. Durchlauf der Schleife und gibt dann einen Fehler, out of dimension oder soetwas. Finde meinen Fehler nicht, könntest du mir helfen?

  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 29. März 2019 um 23:29

    ok, die lösung wirkt so simpel, dennoch bin ich nicht darauf gekommen, danke erstmal, ich werds versuchen!

  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 29. März 2019 um 23:14

    könntest du mir sonst dabei helfen, wie ich diese pixelsuppe extrahiere? hatte an xml gedacht..

  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 29. März 2019 um 23:13

    ja, das stimmt natürlich, glaube nur mir fehlt da der ansatz, bin etwas eingerostet mit meinen Programmierkenntnissen.. hab mch heute ziemlich schwergetan, sitz seit 9Uhr dran gngn

  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 29. März 2019 um 23:07

    Oke, ja stimmt, das funktionier, hatte nur einen Tippfehler in der Pfadangabe..

    Nun bekomme ich ja nach und nach die Koordinaten ausgespuckt. Wäre es möglich, aus diesen Koordinaten eine Gruppe zu machen?

    Muss irgendwie aus diesen Daten, die ich ausgespuckt bekomme erschließen können ob diese gefundenen Pixel zwei Sitzplätze nebeneinander darstellen.. LG

  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 29. März 2019 um 21:16
    C
    #include <GDIPlus.au3>
    #include <Array.au3>
    
    Global $aPos[0][2]
    Global Const $I_COLOR = 0x0FF000066 ;0 (vor dem FF) wird benötigt, da die Zahl sonst negativ ist)
    _GDIPlus_Startup()
    
    $hBitmap = _GDIPlus_BitmapCreateFromFile("Bilder\Block6.png")
    
    For $y = 0 To _GDIPlus_ImageGetHeight($hBitmap) - 1
    For $x = 0 To _GDIPlus_ImageGetWidth($hBitmap) - 1
    If _GDIPlus_BitmapGetPixel($hBitmap, $x, $y) = $I_COLOR Then
    ReDim $aPos[UBound($aPos) + 1][2]
    $aPos[UBound($aPos) - 1][0] = $x
    $aPos[UBound($aPos) - 1][1] = $y
    EndIf
    Next
    Next
    
    _GDIPlus_BitmapDispose($hBitmap)
    _GDIPlus_Shutdown()
    
    _ArrayDisplay($aPos)
    Alles anzeigen

    egal welche farbe ich eintrage, es lädt jedes mal kurz und die infobox wird dann leer angezeigt. Dabei wird angefügtes Bild verwendet.

    Dateien

    Block6.png 5,82 kB – 0 Downloads
  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 29. März 2019 um 20:55

    Hinzu kommt, dass einige 'Blöcke' leider nicht ganz symmetrisch sind..

    Dateien

    Block1.png 6,07 kB – 0 Downloads
  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 29. März 2019 um 20:53

    xD Die Vermutung ist lustig, geht aber um ein Stadion..:D Also Danke schonmal für eure Ideen, zu Alpines testdatei: Ich habs versucht in meinen Code zu implementieren, jedoch ergibt das Array jedes mal nichts.. Hab das Gefühl ich hab die Farbe falsch angegeben, mit der 0 und dem FF. Meine rgb werte sind der Reihe nach 4, 206, 252. Magste mir da vielleicht nochmal helfen?

    Andys Idee ist auch Klasse, meine dass wir das früher im Informatikunterricht am Gym mal hatten mit Robotern und Feldern, wo dann die nächsten Felder abgefragt werden.. Ich denke mal das wichtigste was ich benötige ist eine Pixelabfrage, die keine Fenster öffnet, also im hintergrund arbeitet, bin also erstmal auf alpines Hilfe angewiesen, denke ich mal, werd derweil auch mal fleißig weiterrecherchieren, vielen Dank euch beiden nochmal!

  • Bild filtern/ strukturiert absuchen

    • DDiSoEsT
    • 29. März 2019 um 18:24

    Habe gerade mal eifirg danach gegooglet und muss sagen, dass ist etwas neuland für mich.. Gibt es da einen einfachen Befehl, der alle Pixel nach blauen Pixeln überprüft und die Koordinaten ausgibt? LG

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™