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. Muecke

Beiträge von Muecke

  • Daten von einer Webseite auslesen

    • Muecke
    • 20. Oktober 2016 um 16:48

    so ich habe nun das Fenster anders abgefragt. und ich habe die Arrey`s noch mal geprüft. jetzt scheint es zu klappen. Danke.

    DANKE.

    das ist der Aktuelle Code:

    AutoIt: Web-test_20_10_16.au3
    #cs ----------------------------------------------------------------------------
     AutoIt Version:     3.3.14.2
     Author:
     Quelle:
     Dateiname:          Web-test_20_10_16.au3
     Script Function:    Webseite auslesen
     Beschreibung:       Öffnet den Internet Explorer, ....
    #ce ----------------------------------------------------------------------------
    
    
    #include <IE.au3>                                                           ; Funkzionen für den Internet Explorer laden
    #include<Date.au3>															; Funkzionen füs Datum laden
    OnAutoItExitRegister("onExit")                                              ; Was alles gemacht werden muss wenn das Script beendet wurde
    
    
      $sURL      = "http://www.e-bay.de/"
      $File_name = "/Datei_Name.txt"
    
    
        $oIE = _IECreate($sURL)                                                 ; Öffnet den Internet Explorer
        $hIE = HWnd($oIE.HWND)							                        ;Fensterhandle (eindetuige Identifikationsnummer) abfragen
    
    
    HotKeySet("^{SPACE}", "hotkeyPressed")                                      ; Tastendruck "STRG + Leertaste" => Func hotkeyPressed()
    
    
    while WinExists($hIE)                                                      ;Warten, dass das Fenster nicht mehr existiert
        	sleep(1000)                                                        ;    Warten für 1.000 milli sekunden
    WEnd
    
    
    Func hotkeyPressed()                                                        ; Funktion Start
    
    
    $sSource = _IEDocReadHTML($oIE)                                             ; Aktuellen Quelltext aus dem Internet Explorer Lesen
    
    
    #cs ----------------------------------------------------------------------------
        1) Datum lesen
        2) Herstellernummer lesen
        3) EAN lesen
        4) WebLink lesen
        5) Liferanten lessen
        6) EK lesen
        7) Daten Suchen und ersätzen in gelesenen Werten
        8) Datei Öffnen
    	9) Daten Schreiben
    	10) Datei Schlißen
    	11) Ausgabe
    #ce ----------------------------------------------------------------------------
    
    
    ;  1) bis 6)
    	$aDatum            = _NowDate()
    	$aURL              = _IEPropertyGet($oIE, "locationurl")
        $aHerstellernummer = StringRegExp($sSource, "(?s)<td><strong>Herstellernummer</strong></td>\s*<td>(\d+)</td>", 3)
           If IsArray($aHerstellernummer) Then
    		   $Herstellernummer = $aHerstellernummer[0]
           Else
    	     $Herstellernummer = "# NV #"
           EndIf
    	$aEAN              = StringRegExp($sSource, "(?s)<td><strong>EAN</strong></td>\s*<td>(\d+)</td>", 3)
           If IsArray($aEAN) Then
    		$EAN = $aEAN[0]
    	   Else
    		$EAN = "# NV #"
    	   EndIf
    	   $aLiName           = StringRegExp($sSource, "<input name=""name"" type=""hidden"" value=""(.+)"">", 3)
    	$aEK               = StringRegExp($sSource, "<td class=""align-right"">(.+)€</td>", 3)
    
    
    ; 7)
        For $i = 0 to UBound($aEK)-1
    		$aEK[$i] = StringReplace ($aEK[$i], ".", ",")
    	Next
        For $i = 0 to UBound($aLiName)-1
    		$aLiName[$i] = StringReplace ($aLiName[$i], "&", "&")
    	Next
    
    
    ; 8)
    	If Not FileExists(@DesktopDir & $File_name)  then
    		$File = FileOpen(@DesktopDir & $File_name, 2)		; Datei Erstellen und öffnen
    		FileWrite($File, "Datum; Herstellernummer; EAN; Lieferantenname; EK; URL"& @CRLF)
    	Else
    		$File = FileOpen(@DesktopDir & $File_name, 1)		; Datei Existirtbereits, Öffnen und ans Ende schreiben
    	EndIf
    
    
    	If $File = -1 Then												; Pfüfen ob die Datei richtig geöffnet wurde
    	 MsgBox(0, "Fehler", "Datei kann nicht geöffnet werden.")
    	 Exit
    	EndIf
    
    
    ; 9)
    	; Daten aufbereiten
    
    
    
    
    
    
    
    
    	; Daten Schreiben
    	For $i = 0 To UBound ($aEK)-1
    		FileWrite($File, $aDatum & "-" & @hour & ":" & @min & ":" & @sec & ";" & $Herstellernummer & ";" & $EAN & ";" & $aLiName[$i] & ";" & $aEK[$i] & ";" & $aURL & @CRLF)
    	Next
    
    
    ; 10)
        FileClose($File)
    
    
    ; 11)
    	; Arrey Löschen
    	Dim $aHerstellernummer[UBound($aHerstellernummer,1)]
    	Dim $aEAN[UBound($aEAN,1)]
    	Dim $aLiName[UBound($aLiName,1)]
    	Dim $aEK[UBound($aEK,1)]
    
    
    
    
    	MsgBox (64, "Perfekt", "Lesen und Speichern", 0.5)
    	_IENavigate($oIE, $sURL)
    
    
    EndFunc   ; ==> hotkeyPressed
    
    
    Func onExit()                                                               ; Funktion Start
        _IEQuit($oIE)                                                           ;     Internet Explorer Schlißen
        MsgBox (0,"onExit", "Danke, AutoIT-Script ist beendet!")                ;     Info Box, als Debug damit cih weis wann die Func ausgefürt wird
        Exit                                                                    ;     AutoIt programm beenden
    EndFunc   ; ==> onExit                                                      ; Funktion Ende
    Alles anzeigen
  • Daten von einer Webseite auslesen

    • Muecke
    • 20. Oktober 2016 um 16:13

    Hallo Kanashius,

    ich starte das Script über SciTE mit F5 (wies noch nicht wie man das sonst machen könnte, ist auch noch nicht wichtig).


    Was meinst du mit Konsole? (ist das das Fenster unter den Script?)

    soll ich dir den Text der darin steht mal Posten wenn es abstürzt?


    EDIT[0]:
    das steht dann in der Konsole unter dem Script:

    Zitat von SciTE

    >"C:\Program Files (x86)\AutoIt3\SciTE\..\AutoIt3.exe" "C:\Program Files (x86)\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.au3" /run /prod /ErrorStdOut /in "C:\Users\Muecke\Desktop\AutoIt\Script\WEB-Lesen\Web-test_20_10_16.au3" /UserParams
    +>16:15:13 Starting AutoIt3Wrapper v.16.612.1119.0 SciTE v.3.6.6.0 Keyboard:00000407 OS:WIN_7/Service Pack 1 CPU:X64 OS:X64 Environment(Language:0407) CodePage:0 utf8.auto.check:4
    +> SciTEDir => C:\Program Files (x86)\AutoIt3\SciTE UserDir => C:\Users\Muecke\AppData\Local\AutoIt v3\SciTE\AutoIt3Wrapper SCITE_USERHOME => C:\Users\Muecke\AppData\Local\AutoIt v3\SciTE
    >Running AU3Check (3.3.14.2) from:C:\Program Files (x86)\AutoIt3 input:C:\Users\Muecke\Desktop\AutoIt\Script\WEB-Lesen\Web-test_20_10_16.au3
    +>16:15:13 AU3Check ended.rc:0
    >Running:(3.3.14.2):C:\Program Files (x86)\AutoIt3\autoit3.exe "C:\Users\Muecke\Desktop\AutoIt\Script\WEB-Lesen\Web-test_20_10_16.au3"
    --> Press Ctrl+Alt+Break to Restart or Ctrl+Break to Stop
    "C:\Users\Muecke\Desktop\AutoIt\Script\WEB-Lesen\Web-test_20_10_16.au3" (83) : ==> Subscript used on non-accessible variable.:
    FileWrite($File, $aDatum & "-" & @hour & ":" & @min & ":" & @sec & ";" & $aHerstellernummer[0] & ";" & $aEAN[0] & ";" & $aLiName[$i] & ";" & $aEK[$i] & ";" & $aURL & @CRLF)
    FileWrite($File, $aDatum & "-" & @hour & ":" & @min & ":" & @sec & ";" & $aHerstellernummer[0] & ";" & $aEAN^ ERROR
    ->16:20:30 AutoIt3.exe ended.rc:1
    +>16:20:30 AutoIt3Wrapper Finished.
    >Exit code: 1 Time: 317.2

    Alles anzeigen

    EDIT[1]:
    ich glaube ich habe verstanden, in dem Fall existiert das Array EAN nicht. !

    das Bedeutet ich muss abfragen ob die Arrey`s überhaupt existieren und wenn nicht ein Dummy einfügen so das das Programm nicht abschmiert.
    Was man beim programmieren alles beachten muss.

    Danke für deine Hilfe, dann mache ich mich mal dran.
    1. das Fenster richtig zu überwachen
    2. die Arrey Prüfen auf Existenz.

  • Daten von einer Webseite auslesen

    • Muecke
    • 20. Oktober 2016 um 15:24

    So da bin ich wider, habe mein Script weiter ausgebaut und kann nun alle Daten auslesen die ich Lesen möchte, jedoch habe ich ein Großes Problem.

    Mein Script beendet sich nach einer gewissen zeit von alleine. .-(

    was mache ich.

    1. Script aufrufen im Editor
    2. Script starten mit F5
    3. Auf der Webseite Servern bis ich einen interessanten Artikel gefunden habe. (sorry es ist nicht E-bay jedoch möchte ich die eigentliche Seite nicht nennen müssen da es sich um einen Passwort geschützten Shop handelt)
    4. beim Artikel der mir gefällt drücke ich "STRG + Leertaste"
    5. dann suche ich weiter.

    Und jetzt kommt es vor das mein Browserfenster geschlossen wird und mein Script sich bedankt und alles ist zu, jedoch kommt nicht die Meldung das das Fenster von Hand geschlossen worden wäre.

    Ich bin am verzweifeln denn ich finde die Stelle nicht an der es sich selbst beendet, ich gehe davon aus das ich irgend wo einen Fehler drin habe so das irgend was Überlaufen tut und daher das Script sich selbst beendet.
    könnte von euch jemand mal drüber schauen? und mir ein Tipp geben, an was das liegen könnte.


    Gruß Mücke


    das ist mein Code:

    C: Web-test_20_10_16.au3
    #cs ----------------------------------------------------------------------------
     AutoIt Version:     3.3.14.2
     Author:
     Quelle:
     Dateiname:          Web-test_20_10_16.au3
     Script Function:    Webseite auslesen
     Beschreibung:       Öffnet den Internet Explorer, ....
    #ce ----------------------------------------------------------------------------
    
    
    #include <IE.au3>                                                           ; Funkzionen für den Internet Explorer laden
    #include<Date.au3>															; Funkzionen füs Datum laden
    OnAutoItExitRegister("onExit")                                              ; Was alles gemacht werden muss wenn das Script beendet wurde
    $oIE = _IECreate()                                                          ; Öffnet den Internet Explorer
    
    
      $sURL      = "http://www.e-bay.de/"
      $File_name = "/Datei_Name.txt"
    
    
    
    
    _IENavigate($oIE, $sURL)
    
    
    HotKeySet("^{SPACE}", "hotkeyPressed")                                      ; Tastendruck "STRG + Leertaste" => Func hotkeyPressed()
    
    
    While True                                                                  ; Endlosschleife
        Sleep(1000)                                                             ;    Warten für 1.000 milli sekunden
        If Not ProcessExists("iexplore.exe") Then
    		MsgBox (64, "Ende", "Browser Fenster wurde geschloßen")
    		ExitLoop                   										   ;    Prüfen ob die Datei "iexplore.exe" noch ausgefürt wird wenn nicht AutoIT Script beenden
    	Endif
    WEnd                                                                        ; Endlosschleife Ende
    
    
    Func hotkeyPressed()                                                        ; Funktion Start
    
    
    $sSource = _IEDocReadHTML($oIE)                                             ; Aktuellen Quelltext aus dem Internet Explorer Lesen
    
    
    #cs ----------------------------------------------------------------------------
        1) Datum lesen
        2) Herstellernummer lesen
        3) EAN lesen
        4) WebLink lesen
        5) Liferanten lessen
        6) EK lesen
        7) Daten Suchen und ersätzen in gelesenen Werten
        8) Datei Öffnen
    	9) Daten Schreiben
    	10) Datei Schlißen
    	11) Ausgabe
    #ce ----------------------------------------------------------------------------
    
    
    ;  1) bis 6)
    	$aDatum            = _NowDate()
    	$aURL              = _IEPropertyGet($oIE, "locationurl")
        $aHerstellernummer = StringRegExp($sSource, "(?s)<td><strong>Herstellernummer</strong></td>\s*<td>(\d+)</td>", 3)
    	$aEAN              = StringRegExp($sSource, "(?s)<td><strong>EAN</strong></td>\s*<td>(\d+)</td>", 3)
    	$aLiName           = StringRegExp($sSource, "<input name=""name"" type=""hidden"" value=""(.+)"">", 3)
    	$aEK               = StringRegExp($sSource, "<td class=""align-right"">(.+)€</td>", 3)
    
    
    ; 7)
        For $i = 0 to UBound($aEK)-1
    		$aEK[$i] = StringReplace ($aEK[$i], ".", ",")
    	Next
        For $i = 0 to UBound($aLiName)-1
    		$aLiName[$i] = StringReplace ($aLiName[$i], "&", "&")
    	Next
    
    
    ; 8)
    	If Not FileExists(@DesktopDir & $File_name)  then
    		$File = FileOpen(@DesktopDir & $File_name, 2)		; Datei Erstellen und öffnen
    		FileWrite($File, "Datum; Herstellernummer; EAN; Lieferantenname; EK; URL"& @CRLF)
    	Else
    		$File = FileOpen(@DesktopDir & $File_name, 1)		; Datei Existirtbereits, Öffnen und ans Ende schreiben
    	EndIf
    
    
    	If $File = -1 Then												; Pfüfen ob die Datei richtig geöffnet wurde
    	 MsgBox(0, "Fehler", "Datei kann nicht geöffnet werden.")
    	 Exit
    	EndIf
    
    
    ; 9)
    	; Daten Schreiben
    	For $i = 0 To UBound ($aEK)-1
    	 FileWrite($File, $aDatum & "-" & @hour & ":" & @min & ":" & @sec & ";" & $aHerstellernummer[0] & ";" & $aEAN[0] & ";" & $aLiName[$i] & ";" & $aEK[$i] & ";" & $aURL & @CRLF)
    	Next
    
    
    ; 10)
        FileClose($File)
    
    
    ; 11)
    	; Arrey Löschen
    	Dim $aHerstellernummer[UBound($aHerstellernummer,1)]
    	Dim $aEAN[UBound($aEAN,1)]
    	Dim $aLiName[UBound($aLiName,1)]
    	Dim $aEK[UBound($aEK,1)]
    
    
    
    
    	MsgBox (64, "Perfekt", "Lesen und Speichern", 0.5)
    ;	_IENavigate($oIE, $sURL)
    
    
    EndFunc   ; ==> hotkeyPressed
    
    
    Func onExit()                                                               ; Funktion Start
        _IEQuit($oIE)                                                           ;     Internet Explorer Schlißen
        MsgBox (0,"onExit", "Danke, AutoIT-Script ist beendet!")                ;     Info Box, als Debug damit cih weis wann die Func ausgefürt wird
        Exit                                                                    ;     AutoIt programm beenden
    EndFunc   ; ==> onExit                                                      ; Funktion Ende
    Alles anzeigen

    Dateien

    Web-test_20_10_16.au3 4,59 kB – 429 Downloads
  • StringRegExp = Findet jedes einzelne Zeichen (AUCH Zeilenumbrüche).

    • Muecke
    • 20. Oktober 2016 um 13:06

    @Oscar
    Du hast sicher recht, und ich bin normalerweise jemand der so viele Infos als möglich zu Verfügung stellt denn mir ist klar das die Kleinste Abweichung egal bei was zu einem anderen Ergebnis führen kann.
    Leider ist die Seite die ich dort Lese mit einem Passwort geschützt, daher muss ich davon ausgehen das der Betreiber der Webseite nicht möchte das der Code frei zugänglich im Netz hinterlegt wurd. und einen link konte ich leider auch nicht Posten da je sonst niemand drauf zugreifen kann :(


    An alle noch mal viel dank. die Lösung von Bioshade also die zweite werde ich auch noch mal Testen, die ist schön klein :-).

  • StringRegExp = Findet jedes einzelne Zeichen (AUCH Zeilenumbrüche).

    • Muecke
    • 20. Oktober 2016 um 11:14

    ich finde das extrem komplex wie man so etwas aufbauen muss, ich verstehe da nur einen ganz kleinen teil, so richtig dahinter gekommen wie die Funktion funktioniert bin ich immer noch nicht, ich sehe jedoch das Ergebnisse aus kommen .-) und das sind zum Glück öfters die richtigen.


    Die Lösung von Bioshade finde ich gut, jedoch bekomme ich dann noch eine Nummer die weiter unten im Code Steht auch mit aufgelistet, somit etwas zu viel Infos.

    AutoIt
    (?s)EAN.+?(\d+)


    die Lösung von Lesato ist Perfekt und ich bekomme exakt die EAN Nummer.

    AutoIt
    $aDatenblatt_Werte = StringRegExp($sSource, "(?s)<td><strong>EAN</strong></td>\s*<td>(\d+)</td>", 3)

    Auch wenn ich hier noch nicht sicher bin, was die zeichne alles so genau bedeuten (?s) \s* (\d+) (das muss ich alles noch etwas in der Hilfe nachschlagen) bekomme ich das Exakt richtige Ergebnis ausgespuckt.


    Noch ist das alles ein Rissen Kauderwelsch für mich, ich hoffe das das mit der zeit und den ein oder anderen Testen experimentieren mit dem Befehl besser wird.


    Danke euch für eure Hilfe.
    Ihr seit einfach genial. Danke.


    gruß Mücke

  • StringRegExp = Findet jedes einzelne Zeichen (AUCH Zeilenumbrüche).

    • Muecke
    • 20. Oktober 2016 um 09:45

    Hallo miteinander,

    ich möchte einen HTML Code auslesen, und suche immer nach bestimmten Vorkommnissen die ich dann auslese.

    Jetzt habe ich das Problem das ich einen Text mit Zeilenumbruch suchen muss, doch wie ich das mit dem Zeilenumbruch machen kann muss ist mir irgend wie nicht klar :(

    Folgenden Code habe ich vorliegen:


    HTML
    <tr>
                                    <td><strong>EAN</strong></td>
                                    <td>1234657891234</td>
                                </tr>

    ich dachte mir das ich mit dem Befehl StringRegExp für mich ist die Nummer wichtig. daher dachte ich das ich das ich Explizit nach dem oberen teil suche

    und mir dann die Nummer ausgeben lassen kann. doch leider klappt das nicht da ich den Zeilenumbruch nicht hin bekomme :(


    ich dachte an so etwas:


    AutoIt
    $aDatenblatt_Werte = StringRegExp($sSource, "<td><strong>EAN</strong></td>(.\n+)</td>", 3)

    Leider klappt das nicht :(

    könnte mir hier jemand weiterhelfen?


    Gruß Mücke

  • Daten von einer Webseite auslesen

    • Muecke
    • 12. Oktober 2016 um 12:42

    Irgend wie mag ich das Forum, daher möchte ich euch meinen Neuen Strukturierten Code auch nicht vorenthalten.

    Ja ich bin noch immer dabei den Befehl "StringRegExp" besser zu verstehen, warum etwas ins Arrea kommt oder nicht, jedoch habe ich mir ein paar Hilfen eingebaut.

    1. Funktion Quelltext in eine Datei Speichern
    2. Ergebnis in eine Datei Speichern
    3. Dateien Öffnen und Schließen in eine Funktion gepackt


    jetzt kann ich mir das Ergebnis immer in den Dateien anscheinen und scheuen ob ich auch das richtige der Webseite auslese oder nicht.
    noch klappt das nicht mal ansatzweise, doch ich bin zuversichtlich das ich das irgend wann hin bekomme.

    so das ist der Aktuelle Code von mir:

    AutoIt: Web-test_12_10_16.au3
    #cs ----------------------------------------------------------------------------
     AutoIt Version:     3.3.14.2
     Author:
     Quelle:
     Dateiname:          Web-test_12_10_16.au3
     Script Function:    Webseite auslesen
     Beschreibung:       Öffnet den Internet Explorer, ....
    #ce ----------------------------------------------------------------------------
    
    
    #include <IE.au3>                                                           ; Funkzionen für den Internet Explorer laden
    
    
    OnAutoItExitRegister("onExit")                                              ; keine Ahnung
    
    
    $oIE = _IECreate()                                                          ; Öffnet den Internet Explorer
    
    
     _IENavigate($oIE, "http://www.autoit.de/")                                  ; Öffnet im Browser die Webseite
    
    
    ; MsgBox(0, "", "Surfe eine beliebige Seite an und drücke Strg + Leertaste.") ; Gibt eine Info Box aus
    
    
    HotKeySet("^{SPACE}", "hotkeyPressed")                                      ; Tastendruck "STRG + Leertaste" => Func hotkeyPressed()
    
    
    While True                                                                  ; Endlosschleife
        Sleep(1000)                                                             ;    Warten für 1.000 Sekunden
        If Not ProcessExists("iexplore.exe") Then ExitLoop                      ;    Prüfen ob die Datei "iexplore.exe" noch ausgefürt wird wenn nicht AutoIT Script beenden
    WEnd                                                                        ; Endlosschleife Ende
    
    
    Func hotkeyPressed()                                                        ; Funktion Start
    
    
    $sSource = _IEDocReadHTML($oIE)                                             ; Aktuellen Quelltext aus dem Internet Explorer Lesen
    
    
    Datei_Speichern (@DesktopDir & "/", "Quellcode.txt", 2, $sSource)           ; Daten in Daten in Datei Speichern
    
    
    ;$aTitel = StringRegExp($sSource, "<title>(.+)</title>", 3)                  ; Titel der Seite auslesen
    ;Datei_Array_Speichern(@DesktopDir & "/", "aTitel.txt", 2, $aTitel)
    
    
    $aDIV = StringRegExp($sSource, "<head>(.+)</head>", 3)
    Datei_Array_Speichern(@DesktopDir & "/", "aHead.txt", 2, $aDIV)
    
    
    EndFunc   ; ==> hotkeyPressed                                                ; Funktion Ende
    
    
    
    
    Func Datei_Array_Speichern ($das_Pfad, $das_Datei, $das_Modus, $das_Array)
    
    
    $das_Text = ""
    
    
    ; Datei Öffnen
      $das_File = FileOpen($das_Pfad & $das_Datei, $das_Modus)                      ; Datei Öffnen
      If $das_File = -1 Then                                                        ; Überprüft ob die Datei richtig geöffnet wurde
        MsgBox(0, "Fehler", "Datei '"&$das_Datei&"' kann nicht geöffnet werden.")   ;    Wenn Fehler, Felder ausgeben
    	Exit                                                                        ;    Programm abbrechen
      EndIf
    
    
    ; Array bearbeiten (Zeilenumbrüche)
      $das_Array_Groesse = UBound ($das_Array)
      MsgBox (0,"Info","das Array ist Groß = "&$das_Array_Groesse)
      For $das_i = 0 To $das_Array_Groesse - 1 Step 1
        $das_Text = $das_Text & @CRLF & "Array [" & $das_i & "] = " & $das_Array[$das_i]
      Next
    
    
    ; Text in Datei Speichern
      FileWrite($das_File, $das_Text)                                                ; Quelltext in Datei Exportiren
    
    
    ; Datei Schlißen
      FileClose($das_File)                                                          ;     Datei wider schlißen
    EndFunc   ; ==> Datei_Array_Speichern
    
    
    Func Datei_Speichern ($ds_Pfad, $ds_Datei, $ds_Modus, $ds_Text)
    ; Datei Öffnen
      $ds_File = FileOpen($ds_Pfad & $ds_Datei, $ds_Modus)                         ; Datei Öffnen
      If $ds_File = -1 Then                                                        ; Überprüft ob die Datei richtig geöffnet wurde
        MsgBox(0, "Fehler", "Datei '"&$ds_Datei&"' kann nicht geöffnet werden.")   ;    Wenn Fehler, Felder ausgeben
    	Exit                                                                       ;    Programm abbrechen
      EndIf
    
    
    ; Text bearbeiten (Zeilenumbrüche)
      if NOT StringInStr($ds_Text,@CRLF) then                                      ; Wenn keine Zeilenumbrüche in Windows sichtbar
        $ds_Text=StringReplace($ds_Text,@LF,@CR)                                   ;   Ersetze Linux/Mac Zeilenumbrüche durch die von Windows
        $ds_Text=StringReplace($ds_Text,@CR,@CRLF)                                 ;   Keine Ahnung, warum jemand cr nutzen sollte, aber man weiß ja nie^^
      endif
    
    
    ; Text in Datei Speichern
      FileWrite($ds_File, $ds_Text)                                                ; Quelltext in Datei Exportiren
    
    
    ; Datei Schlißen
      FileClose($ds_File)                                                          ;     Datei wider schlißen
    EndFunc	; ==> Datei_Speichern
    
    
    Func onExit()                                                               ; Funktion Start
        _IEQuit($oIE)                                                           ;     Internet Explorer Schlißen
        MsgBox (0,"onExit", "Danke, AutoIT-Script ist beendet!")                ;     Info Box, als Debug damit cih weis wann die Func ausgefürt wird
        Exit                                                                    ;     AutoIt programm beenden
    EndFunc   ; ==> onExit                                                      ; Funktion Ende
    Alles anzeigen

    Dateien

    Web-test_12_10_16.au3 5,32 kB – 498 Downloads
  • Daten von einer Webseite auslesen

    • Muecke
    • 11. Oktober 2016 um 13:16

    Hey @autoiter,

    Danke für die Codezeile, da klappt prima so.
    hier wir geprüft ob die Datei "iexplore.exe" noch ausgeführt wird oder nicht, wenn nicht wird der Loop verlasen und das AutoIT-Script beendet.
    das ist perfekt. Danke.


    Hey @Kanashius,

    ich wollte jetzt nicht den gesamten Rechner umstellen ;) müssen und mir das "Notepad" als Standarteditor Verlinken. wäre schön wenn man nicht alles immer ändern muss ;-).

    Ich hoffe das du den Code nicht extra für mich geschrieben hast, es sind viele Dinge drin die mehr als neu sind.
    Jedoch gefällt mir das "Normale" Browser Fenster vom IE besser.


    auch wenn ich in Script aus Post #2 die URL ändere von Hand bekommt das Script diese mit.

    Deine Zeilenumbrüche habe ich jedoch bei mir auch mit eingefügt und klapt prima :) Danke dafür .


    Hey @misterspeed,

    Cool danke, bei mir gab es bis jetzt zwar keinen doppelten Zeilenumbrüche, habe jedoch eine Änderung mit aufgenommen und Funktioniert einwandfrei.
    Danke dafür.


    @alle:
    Habe das Script noch beim Öffnen der Datei auf Modus 2 gestellt das jeder Alter Inhalt erst ein mal gelöscht wird, jetzt kann ich anfangen bestimmte teile auszulesen.
    Hoffe das geht einfach :) ich werde ein wenig Experimentieren.

    Danke schon mal für die erste Hilfe von euch.

    ich melde mich wider.


    Gruß Mücke


    EDIT: ich könnte auch den neuen Script -code einstellen ,-)

    AutoIt: Web-test.au3
    #cs ----------------------------------------------------------------------------
     AutoIt Version:     3.3.14.2
     Author:
     Quelle:
     Dateiname:          Web-test.au3
     Script Function:    Webseite auslesen
     Beschreibung:       Öffnet den Internet Explorer, ....
    #ce ----------------------------------------------------------------------------
    #include <IE.au3>                                                           ; Funkzionen für den Internet Explorer
    $file = FileOpen(@DesktopDir & "\test.txt", 2)                              ; Datei Test.txt auf dem Desktop Öffnen oder anlegen
    
    
    If $file = -1 Then                                                          ; Überprüfen Sie, ob die Datei für das Schreiben von OK geöffnet
        MsgBox(0, "Fehler", "Datei kann nicht geöffnet werden.")                ;    Wenn Fehler Felder ausgeben
        Exit                                                                    ;    Programm abbrechen
    EndIf                                                                       ; Ende der Überprüfung der Datei
    
    
    OnAutoItExitRegister("onExit")                                              ; keine Ahnung
    
    
    $oIE = _IECreate()                                                          ; Öffnet den Internet Explorer
    
    
    _IENavigate($oIE, "http://www.autoit.de/")                                  ; Öffnet im Browser die Webseite
    
    
    MsgBox(0, "", "Surfe eine beliebige Seite an und drücke Strg + Leertaste.") ; Gibt eine Info Box aus
    
    
    HotKeySet("^{SPACE}", "hotkeyPressed")                                      ; Tastendruck "STRG + Leertaste" => Func hotkeyPressed()
    
    
    While True                                                                  ; Endlosschleife
        Sleep(1000)                                                             ;    Warten für 1.000 Sekunden
        If Not ProcessExists("iexplore.exe") Then ExitLoop                      ;    Prüfen ob die Datei "iexplore.exe" noch ausgefürt wird wenn nicht AutoIT Script beenden
    WEnd                                                                        ; Endlosschleife Ende
    
    
    Func hotkeyPressed()                                                        ; Funktion Start
        $sSource = _IEDocReadHTML($oIE)                                         ; Aktuellen Quelltext aus dem Internet Explorer Lesen
    
    
    ; Zeilenumbrüche für die Datei erstellen
        if NOT StringInStr($sSource,@CRLF) then                                 ; Wenn keine Zeilenumbrüche in Windows sichtbar
            $sSource=StringReplace($sSource,@LF,@CR)                            ; Ersetze Linux/Mac Zeilenumbrüche durch die von Windows
            $sSource=StringReplace($sSource,@CR,@CRLF)                          ; Keine Ahnung, warum jemand cr nutzen sollte, aber man weiß ja nie^^
        endif
    
    
        MsgBox(0, "Quelltext", $sSource)                                        ; Quelltext in Info Box ausgeben
        FileWrite($file, $sSource & @CRLF )                                     ; Quelltext in Datei Exportiren
    
    
        $aTitel = StringRegExp($sSource, "<title>(.+)</title>", 3)                  ; Titel der Seite auslesen
        If Not @error And IsArray($aTitel) Then                                     ;    Wenn kein Fehler und $aTitel ein Array ist dann mache
            MsgBox(0, "", "Der Titel der aktuellen Seite ist '" & $aTitel[0] & "'") ;        Ausgabe des Array[0] was den Titel enspricht
        Else                                                                        ;    Wenn Bedingung nicht zutrift dann
            MsgBox(16, "", "Fehler beim Auslesen!")                                 ;       Fehlermeldung ausgeben
        EndIf                                                                       ;    Ende der Wenn prüfung
    EndFunc   ;==>hotkeyPressed                                                     ; Funktion Ende
    
    
    
    
    Func onExit()                                                               ; Funktion Start
        _IEQuit($oIE)                                                           ;     Internet Explorer Schlißen
        FileClose($file)                                                        ;     Datei wider schlißen
        MsgBox (0,"onExit", "Das ist die onExit Func ;-)")                      ;     Info Box, als Debug damit cih weis wann die Func ausgefürt wird
        Exit                                                                    ;     AutoIt programm beenden
    EndFunc   ;==>onExit                                                        ; Funktion Ende
    Alles anzeigen
  • Daten von einer Webseite auslesen

    • Muecke
    • 8. Oktober 2016 um 13:13

    Wie versprochen melden ich mich wider ;-).

    habe mir jetzt einen Kleinen über blich verschlaft und wollte mit dem Code aus Post #2 von @Christoph54 anfangen.

    Damit ich verstehe was genau Passiert habe ich mir als erstes Kommentare hinter jede ziele geschrieben dann sehe ich schneller was wie passiert :)
    Da ich mit dem HTML Codieren nicht so viel anfangen kann dachte ich mir das ich als Nächstes mir den HTML Code anzeigen lassen,
    das habe ich dann in einer MsgBox gemacht, das ist jedoch etwas unpraktisch denn die ist dann zu lange, :( also habe ich mir den Code in eine

    Text Datei auf dem Desktop schreiben lassen, das ist auch nicht gerade Praktisch denn hier gibt es keine Zeilenumbrüche mehr :(


    Daher meine Erste Frage:


    Wie kann ich die Zeilenumbrüche für den HTML Code beim Schreiben in eine Datei wider Aktiviren? bzw. mit übergeben?


    Dann habe ich noch eine Frage zum Beenden des AutoIT Programms, wenn ich den Browser wider schlisse dachte ich das auch das
    AutoIT Script beendet wird, ist bei mir nicht der Fall, das Script wird weiterhin in der Windows leiste ganz unten am Monitor in dem Rechten Bereich
    bei der Uhr angezeigt, das muss ich immer mit Rechtsklick und Exit beenden von Hand.
    ist da nicht der teil "OnAutoItExitRegister("onExit")"* für zuständig?


    oder mache ich da was Falsch?


    Wenn ich die Zeilenumbrüche habe und das Script richtig beendet wird würde ich gerne anfangen bestimmte teile auf einer Webseite zu
    finden und auszugeben, doch immer eins nach dem anderen. :)

    Gruß Mücke

    Spoiler anzeigen
    AutoIt: Web-test.au3
    #cs ----------------------------------------------------------------------------
     AutoIt Version:     3.3.14.2
     Author:             
     Quelle:             
     Dateiname:          Web-test.au3
     Script Function:    Webseite auslesen
     Beschreibung:       Öffnet den Internet Explorer, ....
    #ce ----------------------------------------------------------------------------
    #include <IE.au3>                                                           ; Funkzionen für den Internet Explorer
    $file = FileOpen(@DesktopDir & "\test.txt", 1)                              ; Datei Test.txt auf dem Desktop Öffnen oder anlegen
    
    
    If $file = -1 Then                                                          ; Überprüfen Sie, ob die Datei für das Schreiben von OK geöffnet
        MsgBox(0, "Fehler", "Datei kann nicht geöffnet werden.")                ;    Wenn Fehler Felder ausgeben
        Exit                                                                    ;    Programm abbrechen
    EndIf                                                                       ; Ende der Überprüfung der Datei
    
    
    OnAutoItExitRegister("onExit")                                              ; keine Ahnung
    
    
    $oIE = _IECreate()                                                          ; Öffnet den Internet Explorer
    
    
    _IENavigate($oIE, "http://www.autoit.de/")                                  ; Öffnet im Browser die Webseite
    
    
    MsgBox(0, "", "Surfe eine beliebige Seite an und drücke Strg + Leertaste.") ; Gibt eine Info Box aus
    
    
    HotKeySet("^{SPACE}", "hotkeyPressed")                                      ; Tastendruck "STRG + Leertaste" => Func hotkeyPressed()
    
    
    
    
    While True                                                                  ; Endlosschleife
        Sleep(1000)                                                             ;    Warten für 1.000 Sekunden
    WEnd                                                                        ; Endlosschleife Ende
    
    
    
    
    Func hotkeyPressed()                                                        ; Funktion Start
        $sSource = _IEDocReadHTML($oIE)                                         ; Aktuellen Quelltext aus dem Internet Explorer Lesen
        MsgBox(0, "Quelltext", $sSource)                                        ; Quelltext in Info Box ausgeben
        FileWrite($file, $sSource)                                              ; Quelltext in Datei Exportiren
    
    
        $aTitel = StringRegExp($sSource, "<title>(.+)</title>", 3)                  ; Titel der Seite auslesen
        If Not @error And IsArray($aTitel) Then                                     ;    Wenn kein Fehler und $aTitel ein Array ist dann mache
            MsgBox(0, "", "Der Titel der aktuellen Seite ist '" & $aTitel[0] & "'") ;        Ausgabe des Array[0] was den Titel enspricht
        Else                                                                        ;    Wenn Bedingung nicht zutrift dann
            MsgBox(16, "", "Fehler beim Auslesen!")                                 ;       Fehlermeldung ausgeben
        EndIf                                                                       ;    Ende der Wenn prüfung
    EndFunc   ;==>hotkeyPressed                                                     ; Funktion Ende
    
    
    
    
    Func onExit()                                                               ; Funktion Start
        _IEQuit($oIE)                                                           ;     Internet Explorer Schlißen
        FileClose($file)                                                        ;     Datei wider schlißen
        MsgBox (0,"onExit", "Das ist die onExit Func ;-)")                      ;     Info Box, als Debug damit cih weis wann die Func ausgefürt wird
        Exit                                                                    ;     AutoIt programm beenden
    EndFunc   ;==>onExit                                                        ; Funktion Ende
    Alles anzeigen
  • Tutorial - Erste Schritte

    • Muecke
    • 7. Oktober 2016 um 17:31

    Hallo Kanashius,

    habe es gerade ausprobiert du hast recht, wenn ich über den Explorer (Rechtsklick Neue Datei) erstelle dann ist die Musterdatei geladen, das ist ja Cool, auch wenn das nicht meine Übliche Vorgehensweise ist, ich mache Neue Dateien Dokumente normalerweise über das Programm nicht über den Explorer, aber egal.

    Hatte nur die Befürchtung das irgend etwas nicht richtig installiert ist, und das Könnte zu Problemen führen das bei mir Fehler auftauchen die sonst niemand hat ;) und das wollte ich vermeiden.


    Bin jetzt aktuell bei den "Strings" im TuT mal schauen was die für eine Party machen ;)


    Danke, für eure Hilfe bisher. * Freue mich seit langen mal wider was neues zu machen, hach das Griebelt ja richtig in den Fingern*


    gruß Mücke

  • Tutorial - Erste Schritte

    • Muecke
    • 7. Oktober 2016 um 17:16

    Wenn ich nun eine Existierende Datei z.B. C:\Users\muecke\Desktop\AutoIt\Script\TuT\Funktionen.au3 aufrufe und dann im Editor auf das neue Datei Symbol Klicke kommt wider eine leere Seite :( an der Vorlage Datei habe ich diesmal nach der Neuinstallation nichts gemacht.

  • Tutorial - Erste Schritte

    • Muecke
    • 7. Oktober 2016 um 17:07

    ich habe gerade das ganze noch mal Deinstalliert und wider installiert dabei wurde ich gefragt ob die Endung .au3 Ausgeführt oder Editiert werden soll, habe diesmal Editieren gewählt und nun lassen sich die Daten auch per Doppelklick Öffnen :)

  • Link Fehler im Tutorial (autoit.de/wiki/index.php/Tutorial)

    • Muecke
    • 7. Oktober 2016 um 17:02

    OK, ich habe noch mal alles Deinstalliert, so das alles sauber von beginn an ist wenn ich anfange :)


    habe mir jetzt auch das Zweite "AutoIt Script Editor...." mit runter geladen.


    habe beides Installiert.
    Bei der Installation vom "AutoIt Fullinstallation" ist mir aufgefallen das ich gefragt wurde ob eine .au3 Datei ausgeführt oder Editiert werden soll, habe diesmal Editiert gewählt.

    Habe dann auch gleich den "AutoIt Script Editor" noch installiert,

    wenn ich nun auf "Start" --> "Alle Programme" --> "AutoIt V3" --> "SciTE Script Editor" Klicke dann öffnet sich der Selbe Editor wie vorher :( oder sehen die gleich aus? oder ist dieser wo anders Installiert muss ich den anders aufrufen?

  • Tutorial - Erste Schritte

    • Muecke
    • 7. Oktober 2016 um 16:48

    Puuu, und ich dachte das die Daten immer in dem Verzeichnis sein müssen, habe mir zwar jetzt ein Verzeichnis dort angelegt und eine Verknüpfung auf den Desktop gelegt doch dann werde ich die unter meine Dokumente ablegen das ist einfacher zu finden.

    Aus der Datei "C:\Windows\ShellNew\Template.au3" ist eine .ua3 Datei geblieben.

    Ich kann die Daten auch nicht per Doppelklick Öffnen ich muss immer Rechtsklick und auf Open gehen

  • Tutorial - Erste Schritte

    • Muecke
    • 7. Oktober 2016 um 16:27

    Hallo miteinander,

    ich bin gerade dabei das TuT (https://autoit.de/wiki/index.php/Tutorial) durch zu arbeiten und stoße schon zu beginn an Verständnis fragen.

    Was habe ich bis jetzt gemacht.
    1) Software herunter geladen und Installiert (https://www.autoitscript.com/site/autoit/downloads/) --> AutoIt Full Installation. Includes x86 and x64 components, and:


    2) da bin ich nun. beim Schritt "Erste Schritte"


    Ich soll in den Ordner "AutoIt v3 Script" einen neuen Ordner anlegen, ich kann den Ordner jedoch nicht finden :( auf der Festplatte, ich habe die Pfade bei der Installation nicht verändert.
    Dann steht da noch das mit der Vorlage Datei die habe ich gefunden und habe die mir ins Deutsche Übersetzt, ist ja nicht viel gewesen. Und habe die Neu gespeichert. soweit so gut.

    ich dachte vielleicht macht der Editor ja einen Hinweis wo sich die Neuen Dateien ablegen lassen und habe den Editor SciTE-Lite geöffnet, wenn ich dort auf eine neue Datei Klicke (Das Symbol in der Menüleiste) dann kommt eine Leere Seite, ich dachte da sollte nun die Musterdatei geladen werden :(

    ich habe den Eindruck das hier etwas schief laufen tut, oder ich Falsch an die Sache heran gehe.

    Könnte mir da jemand etwas auf die Sprünge helfen. ?

    Gruß Mücke

  • Link Fehler im Tutorial (autoit.de/wiki/index.php/Tutorial)

    • Muecke
    • 7. Oktober 2016 um 16:06

    Hallo Lottich,

    Danke für den Link.

    jetzt bin ich mir nicht sicher was ich dort genau herunter laden muss :(

    ich benötige

    - AutoIt-Versio
    - SciTE-Version

    dann habe ich alles um los zu legen?

    mit deinem Link gibt es nun verschiedene Auszahlen, und das Irritiert mich und ich bin nicht sicher ob ich die Richtigen Dinge gewählt habe.

    Zitat von autoitscript - downloads

    AutoIt Full Installation. Includes x86 and x64 components, and:

    Hier scheint alles in einem Paket zu sein, und ich gehe davon aus das ich sonst nichts benötige da alles in dem Paket drin ist.

    Zitat von autoitscript - downloads

    AutoIt Script Editor.(Customised version of SciTE with lots of additional coding tools for AutoIt)

    Wenn ich das richtig verstanden habe ist der Editor im Obigen Paket schon mit drin, das hier ist jedoch eine User erweiterte Version die etwas mehr an Tools hat?

    Zitat von autoitscript - downloads

    AutoIt– Self Extracting Archive (for those who don’t like/want an installer)(includes x86 and x64 components and Aut2Exe and AutoItX)

    Keine Ahnung das was für ein teil sein soll.


    Ich gehe davon aus das ich das erste Paket benötige sonst kein weiteres?


    Gruß Mücke

  • Link Fehler im Tutorial (autoit.de/wiki/index.php/Tutorial)

    • Muecke
    • 4. Oktober 2016 um 15:51

    Hallo miteinander,

    da ich gerade dabei bin das TuT von der Startseite durchzumachen möchte ich mir nun auch die Programme dazu besorgen, dabei ist mir aufgefallen das im TuT (autoit.de/wiki/index.php/Tutorial) der Link zum SciTE-download nicht funktioniert, ich bekomme hier immer einen 404 Fehler der Webseite :(


    vilecht kann einer der Admins die das TuT Bearbeiten können einen wider Fungzionirenden link hinterlegen ;) ist für die nachfolgenden dann einfacher .


    Gruß Mücke

  • Daten von einer Webseite auslesen

    • Muecke
    • 1. Oktober 2016 um 10:42

    Hallo Gun-Food,

    ich bin nun dabei die Tut durch zuarbeiten :) danke noch mal dafür.

    ich wies jetzt auch warum ich die nicht gefunden habe, ich habe immer mit dem iPad auf der Webseite geschaut, und wenn man mit dem iPad auf das "Portal" Startseite geht, kommen die Kleien Fenster rechts nicht :( und man kann auch die TuT nicht finden.

    Wollte das nur kurz als Hinweis da lassen.

    Bis demnächst.

    Und allen einen schönen Feiertag.

    Gruß Mücke

  • Daten von einer Webseite auslesen

    • Muecke
    • 30. September 2016 um 14:27

    hallo Gun-Food,

    das werde ich machen, denn irgend wie fehlt mir noch einiges bevor ich wirklich mit meiner Aufgabe anfangen kann.
    Das auf der Startseite auch Tutorials sind habe ich noch nicht gesehen gehabt werde ich aber gleich in angriff nehmen.

    DANKE.


    ich melde mich dann wider wenn ich wies was Sache ist und ich auch etwas davon verstehe.


    Bis demnächst :)


    Gruß Mücke


    Hey Chip,

    ob das an den Update liegt für den Neuen FF kann ich dir nicht sagen, ich weis nur das ich auch alleine aus den Tutoriels der Webseite entnehmen kann das einige Funktionen gar nicht vorhanden sind die dort in Bildern gezeigt werden.

    Wenn ich den Code jedoch von Hand hinein schreibe dann funktioniert das schon, ich komme nur mit dem Code nicht so richtig zurecht dort.
    Daher benötige ich Hilfe.

    ich werde mich in das AutoIt etwas einlesen und schauen ob das nicht eine echte Alternative sein würde, hier sind zumindest schon mal ein Paar von euch die wie ich Deutsch verstehen ;)
    Danke dir.
    Gruß Mücke

  • Daten von einer Webseite auslesen

    • Muecke
    • 30. September 2016 um 12:43

    Wow das ist viel Code und viel Möglichkeiten, das Problem zu lösen.


    ich glaube irgend wie fehlt mir der Anfang.

    Wo kommt der Code denn rein? in eine Text Datei?
    mit was muss ich das Skripte ausführen?

    Mir fehlen glaube ich die Grundbausteine gerade was da wie wo ist.

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™