Links aus einem bestimmten Teil des Quelltextes anzeigen lassen.

  • Hallöchen,
    ich möchte Links aus einem bestimmten Teil einer Seite anzeigen lassen, hab auch schon ein Skript hier gefunden was eigentlich perfekt funktioniert doch es zeigt alle Links der seite an:

    Spoiler anzeigen
    [autoit]

    #include <IE.au3>
    #include <Array.au3>

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

    $oIE = _IECreate("http://www.ciiity.de")

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

    $oLinks = _IELinkGetCollection($oIE)
    Local $i = 0, $aLinks[@extended]

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

    For $oLink In $oLinks
    $aLinks[$i] = $oLink.href
    $i += 1
    Next

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

    _ArrayDisplay($aLinks)

    [/autoit]

    Ich bräuchte eine Methode die nur bestimmte Links aus definierten Bereichen des Quelltextes anzeigt. Habe es auch mit _StringBetween versucht und dass selbe Problem gehabt das alle Links angezeigt werden und nicht nur die, die z.B. bei
    "Freizeit - Hobby" stehen auf der Seite.

    Hat vielleicht jemand ein Lösungsansatz habe hier schon gesucht und leider nichts passendes gefunden.

    LG wannabecoder

    2 Mal editiert, zuletzt von wannabecoder (21. Oktober 2010 um 22:41)

  • Dann musst du den z.B. Quelltext vorher zurechtschneiden und dann mit _Stringbetween weiterarbeiten ;)
    So z.B.

    Spoiler anzeigen
    [autoit]

    #include <INet.au3>

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

    $source = _INetGetSource("http://www.ciiity.de/")
    $source = StringTrimLeft($source, StringInStr($source, "Essen - Trinken"))
    $source = StringLeft($source, StringInStr($source, "</tr>"))
    MsgBox(0,"1.txt", $source)

    [/autoit]

    Oder aber du lernst RegEx und arbeitest mit

    [autoit]

    StringRegExp

    [/autoit]
  • OK super werd ich mal versuchen.

    Danke für die schnelle Hilfe ! :thumbup:

    Edit: klappt wunderbar BIG THXS :thumbup:

    LG wannabecoder

    Einmal editiert, zuletzt von wannabecoder (7. Oktober 2010 um 22:13)

  • Hallo, nochmal :)

    alle Links und Titel werden nun korrekt ausgelesen.
    $oLinks enthält die Links und $oLinksb den Titel sind bei beiden so 100 stk.

    Wie kriege ich die Datensätze jetzt in eine mysql Datenbank geschrieben ?

    Habe ein PHP Formular mit zwei Text Input Feldern "link" und "titel" und einem Submit Button
    geht auch damit in die DB zuschreiben aber ich weis nicht wie ich alle 100 Links und Titel nacheinander automatisch eingebe mit Autoit.

    Wäre aber eigentlich besser die Daten direkt in die Datenbank einzutragen als über ein Php Formular.

    Hier das Sript bisher, liest die Links und Titel ein und zeigt Sie mit _ArrayDisplay an.

    Spoiler anzeigen
    [autoit]

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

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

    $source = _INetGetSource("http://testxyz.de")
    $source = StringTrimLeft($source, StringInStr($source, "Bilder"))
    $source = StringLeft($source, StringInStr($source, "Titel"))
    $oLinks = _StringBetween($source,'class="OverlayLabel">',' ')
    $oLinksb = _StringBetween($source,'title="/','">')

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

    _ArrayDisplay($oLinks)
    _ArrayDisplay($oLinksb)

    [/autoit]

    wäre super wenn mir Jemand weiterhelfen könnte. THXS

    LG wannabecoder

    Einmal editiert, zuletzt von wannabecoder (24. Oktober 2010 um 02:08)

  • Hi,
    es gibt in Autoit eine mysql.au3 gib einfach mal bei Google ein und du kommst ins englische Forum. Dort gibt es die Anleitung sowie die Installationsbeschreibung.
    Das ist dann einfach nur noch eine Funktion die Arrays in die Mysql-Datenbank schreibt.
    Wenn du noch weitere Fragen hast einfach nochmal melden.

    MfG
    Der_Doc

  • Hallo,

    danke für Deinen Tipp leider reichen meine Autoit Kentnisse nicht aus um das mit dem Array eintragen hinzukriegen. :(

    Es sollte auch überprüft werden ob der Link schon in der DB vorhanden ist und wenn ja wird er nicht eingetragen.
    Bisher mache ich dass mit PHP im submit Formular :

    Spoiler anzeigen


    aber bei Autoit bin ich totaler Anfänger keine Ahnung wie ich dass Umsetzen soll.

    Wäre über jede Hilfe dankbar! :D

    LG wannabecoder