Seitenquellcode einlesen - Problem mit Umlauten

  • Hallo zusammen,

    ich möchte eine HTML-Quellcode einer Sportwettenseite einlesen um eine Übersicht der aktuellen Partien, sowie die aktuelle Wettquote zu bekommen.
    Ich denke man kann dies gut in einem mehrdimensionalem Array machen. Aber derzeit komme ich bei dem einlesen der Mannschaften schon nicht weiter.

    Mir werden nämlich keine Teams die ein "ü" im Namen haben ausgegeben - und das obwohl ich die Umlaute schon umwandel.
    Aktuell habe ich die Seite der heutigen Spiele in der Türkei im Skript hinterlegt, da es dort ja mehrere Teams mit einem "ü" gibt.

    Dies ist übrigens ein veränderter Code von "Friesel", der mir in meinem alten Beitrag schonmal geholfen hat.

    Danke schonmal

    [autoit]


    #include <Array.au3>
    #include <String.au3>

    [/autoit][autoit][/autoit][autoit]

    Global $sHTMLSourceSpieltag, $aAllePartien
    $sHTMLSourceSpieltag = InetRead("https://www.xyz", 1)
    $sHTMLSourceSpieltag = BinaryToString($sHTMLSourceSpieltag, 1)

    [/autoit][autoit][/autoit][autoit]

    _AnalyseIt()

    [/autoit][autoit][/autoit][autoit]

    Func _AnalyseIt()
    Local $iPartie, $sHTMLSourcePartie, $aMannschaften, $aAufstellungBlock, $iTeam, $aSpieler, $aMannschaften, $bMannschaften
    For $iPartie = 1 To 1
    $sHTMLSourcePartie = InetRead('https://www.xyz')
    $sHTMLSourcePartie = BinaryToString($sHTMLSourcePartie, 1) ;UMLAUTE!!!
    $sHTMLSourcePartie = StringReplace($sHTMLSourcePartie, '&nbsp;', ' ') ;==> "geschützte" Leerzeichen entfernen
    ;$sHTMLSourcePartie = StringReplace($sHTMLSourcePartie, '&uuml;', 'ü')

    $aMannschaften = StringRegExp($sHTMLSourcePartie, 'title="([\wÄäÖöÜüßÁÀáàÉÈéè\-.() ]*)">....<..><..><...><td class="draw1x2"', 3)
    _ArrayDisplay($aMannschaften, "Heimmannschaften ")

    $bMannschaften = StringRegExp($sHTMLSourcePartie, 'title="([\wÄäÖöÜüßÁÀáàÉÈéè\-.() ]*)">....<..><..><...><td class="hc"><p>', 3)
    _ArrayDisplay($bMannschaften, "Auswärtsmannschaften ")

    ;Als nächstes ein mehrdimensionales Array erstellen um die Begegnungen übersichtlich mit den aktuellen Quoten darszustellen

    [/autoit][autoit][/autoit][autoit]

    Next
    EndFunc
    MsgBox(0, "", "Fertig")
    Exit

    [/autoit]

    2 Mal editiert, zuletzt von benny159 (12. September 2013 um 13:10)

  • Du rufst ganz bewusst BinaryToString mit "1" als zweiten Parameter auf - warum?
    Du scheinst dir also sicher zu sein, dass der Quellcode in ANSI-Formatierung vorliegt.
    Das ist aber nicht der Fall.

    Ansonsten wird die Seite zweimal aufgerufen.
    Zudem gehe ich nicht davon aus, dass die Betreiber der Seite möchten dass man mit anderen Programmen als einem Browser auf ihre Inhalte zugreift.