Websiteparser

  • HI @ all.

    ich versuche gerade ein Script zu schreiben, dass mir aus einem Sourcecode einer Homepage bestimmte Strings auslesen soll, kriege das aber irgendwie nicht hin.

    Die URL der Seite besteht aus 2 Teilen:

    $part1="http://url.endung/view.php?mode=gallery&g="
    $part2="12345" ; Sollte eigentlich aus einer Textdatei geladen werden, da dieser Wert hochgezählt wird.
    $URL=$part1&$part2

    Sourcecode laden ist auch klar:

    $source = _INetGetSource ( $URL)


    So, jetzt steht irgendwo im Quelltext: src=", danach soll gesucht werden, dann soll alles was bis zum folgenden " kommt kopiert werden und danach heruntergeladen werden. Wie stelle ich das an?

    Vielen Dank im Vorraus

    MfG
    .Kim

  • Guck dir mal die Funktion StringInStr und Stringsplit an.

    Das sollte dir helfen

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]
  • Hi,

    ein Möglichkeit wäre zum Beispiel, mit reguläre Ausdrücken die Werte von Src-Attributen auszulesen:

    [autoit]


    #include <array.au3>

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

    $zieldatei = @scriptDir&"\foobar.html"
    InetGet("http://www.autoit.de/thread.php?threadid=3389",$zieldatei)
    $htmldatei = FileRead($zieldatei)
    $aTreffer = StringRegExp($htmldatei,'src="([^"]*)',3)
    ConsoleWrite($aTreffer[0])
    _arraydisplay($aTreffer,"blub")

    [/autoit]

    2 Mal editiert, zuletzt von jonk (29. Juli 2007 um 20:27)

    • Offizieller Beitrag

    Wenn dies die einzige Angabe mit 'src="' im Quelltext ist, sollte auch dieses reichen:

    [autoit]

    #include <INet.au3>
    #include <String.au3>

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

    $source = _INetGetSource ( $s_URL )
    $arFound = _StringBetween($source,'src="', '"', 1)

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

    If IsArray($arFound) Then MsgBox(0, 'gefunden', $arFound[0])

    [/autoit]
  • nee, ist leider nicht die einzige Angabe, sind bis zu n Angaben. vor dem src= steht noch die Photo Nummer mit Photo=1...n

    Gibts da ne Möglichkeit dies zu berücksichtigen. Also die höchste Nummer des Phohos suchen, daraus die Größe des Arrays bestimmen und die jeweilige src= hineinschreiben.

  • nein die sind ned leer O_o

    EDIT: 100. Post :D
    Feier
    Roten Stern polier :D

    Dieser Beitrag wurde 9521 mal editiert, zum letzten Mal von Blubkuh: Morgen, 02:28.

    [autoit]

    If Not $Elephant Then $Irelephant = True

    [/autoit]

    Einmal editiert, zuletzt von Blubkuh (29. Juli 2007 um 23:06)

  • Hier der Link zum Index der Gallery 21741
    http://www.imagebeaver.com/view.php?mode=gallery&g=21741
    Der gesuchte String befindet sich in der Zeile 86

    Spoiler anzeigen


    Hier der Link zum Photo 1
    http://www.imagebeaver.com/view.php?mode=gallery&g=21741&photo=1
    Der gesuchte String befindet sich in der Zeile 94

    Spoiler anzeigen

    Ich hoffe, das hilft weiter.

    Vielen Dank im Vorraus!