_StringBetween problem

  • Heyho :)

    Wollte mal bei euch nachfragen wieso er mir nicht _StringBetween ausliest. Stimmt da irgendetwas nicht etc.?

    [autoit]


    $body= _IEBodyReadHTML ("http://world1.freewar.com/fwEnglish/srv/src/fwEnglishExport/internal/item.php")
    $Zahl1 =_StringBetween($body, '<b>Geld: </b>',' <img src=')
    MsgBox(0,"",$Zahl1)

    [/autoit]


    MsgBox(0,"",$Zahl1) zeigt mir 0 an(also hat er nix gefunden. aber warum??

  • _StringBetween gibt ein Array zurück. Also erst mit IsArray() prüfen und dann via Index auf $Zahl1[0] zugreifen :D

  • Man beachte die Freewar-AGB


    besonders diese Punkte hier:

    Zitat

    § 13 Es ist verboten jegliche Seiten von Freewar mit anderen Programmen außer dem Browser abzurufen. Dies bezieht sich insbesondere auf sogenannte Bots oder auch andere Tools die das Webinterface ersetzen oder ändern sollen. Eine Ausnahme gilt für Tools, die von einem Admin bestätigt und dann der Allgemeinheit zur Verfügung gestellt wurden.

    § 14 Programme, die Zugriffe automatisieren, die Spieloberfläche verändern oder übermäßig viele Zugriffe generieren, sind auf allen Seiten von Freewar verboten.

  • yep, macht es aber nicht bei mir ;)
    weil ich einfach nur den geldwert auslesen will
    1. freewar wird mit dem browser aufgerufen.
    2.es wird nichts ersetzt + verändert.
    ;) also kann mir nun jemand helfen?

    • Offizieller Beitrag

    leviathan hat dir doch schon die Antwort gegeben.

    [autoit]

    $body = _IEBodyReadHTML("http://world1.freewar.com/fwEnglish/srv/src/fwEnglishExport/internal/item.php")
    $Zahl1 = _StringBetween($body, '<b>Geld: </b>', ' <img src=')
    If IsArray($Zahl1) Then
    MsgBox(0, "", $Zahl1[0])
    EndIf

    [/autoit]
  • Sollte das nicht eher so sein:

    [autoit]


    $IE = _IECreate("about:blank")
    _IENavigate($IE, "http://world1.freewar.com/fwEnglish/srv/src/fwEnglishExport/internal/item.php")
    $body = _IEBodyReadHTML($IE)
    $Zahl1 = _StringBetween($body, '<b>Geld: </b>', ' <img src=')
    If IsArray($Zahl1) Then
    MsgBox(0, "", $Zahl1[0])
    EndIf

    [/autoit]

    wäre mir neu dass man bei IEBodyReadHTML direkt den Link angeben kann. Das funktionert nur mit InetGet()

  • Es kann hier bei _StringBetween iV mit FF oder IE leicht ein Fehler vorliegen.

    Das liegt am unterschiedlichen Anzeigen von Quellentext. So ist mir aufgefallen, das im FF Quelltext zB keine "ä,ü,ö" vorkommen, im AutoIt Quellentext dagegen schon. Aus eigener Erfahrung weiß ich, das man da leicht durchdrehen kann, wenn man denkt zu wissen, dass das gehen muss...

    Kopier den AutoIt Quellentext und such darin nach deinen beiden Searchbegriffen.

    Einmal editiert, zuletzt von Franzi (9. November 2009 um 18:41)