Sabrina: Suche WebCrawler für avi-Videos

Hallo,

Ich habe vor kurzem mir einen save.tv-Account eingerichtet und finde den Service ganz toll. Leider ist das Downloaden der avis sehr umständlich.
Ich suche also nun nach einem kostenlosen Crawler (Egal ob PHP, Java, EXE oder sonstwas) Ich stelle mir vor, dass ich dem Programm "beibringe" wie er sich einloggt (denke mal das geht über POST) und nach welchen wörtern er suchen soll zB "DOWNLOAD". Diesen Links folgen und alle Links die .avi am Ende haben in eine Liste packen. Die übergebe ich dann meinem Downloadmanager.

Kennt jemand ein geeignetes Programm? Oder muss man sich sowas immer und immer wieder selber Programmieren?

Sabrina

  1. Kennt jemand ein geeignetes Programm?

    Nein.

    Oder muss man sich sowas immer und immer wieder selber Programmieren?

    Programmieren? Ein Shell-Script reicht hier völlig aus: einloggen mit Curl, HTML-Inhalt greppen und an wget übergeben. Geschätzt etwa 25 Zeilen - je nach Komplexität.

    1. Programmieren? Ein Shell-Script reicht hier völlig aus: einloggen mit Curl, HTML-Inhalt greppen und an wget übergeben. Geschätzt etwa 25 Zeilen - je nach Komplexität.

      Sehe ich ähnlich, ich musste zwar ein Scriptsprachen (TCL, Perl...) denken aber im Grunde das gleiche...
      Ansonsten gibt es aber auch so Browser-Plugins, die sowas machen. iMacros für FireFox ist so eines. Einfach mal ausprobieren, sollte nicht schwer zu bedienen sein (habs nur oberflächlich getestet).
      Sonst gäbs noch Autoit und Konsorten.

      --
      sh:( fo:| ch:? rl:( br:& n4:& ie:{ mo:} va:) de:µ_de:] zu:) fl:( ss:| ls:[ js:(
    2. Ja ich hab sowas auch schon mal geschrieben, aber ich habe "hier" kein Linux...
      http://phpcrawl.cuab.de/testinterface.html
      scheint ein gutes Teil zu sein, allerdings schaffe ich noch nicht mal den Login zu realisieren :-/

      Der Ablauf ist eigentlich Simple (Pseudocode):

      * = wonach gesucht wird

      $regex1 = "href="/STV/M/obj/recordOrder/reShowDownload.cfm?*"";
      $regex2 = "<span id="text1"><a href="javascript:showWaitText();document.location.href='*'";
      $regex3 = "<embed type="video/divx" src="*"";

      Login via POST - Save cookies

      (...)

      $downloadlist[] = $regex1 in $url1
      foreach $downloadlist as $link{
        # follow $link
        # (...)
          $step2list[] = $regex2 in $link
      }

      foreach $step2list as $link{
        # follow $link
        # (...)
          $avis[] = $regex3 in $link
      }

      1. Ja ich hab sowas auch schon mal geschrieben, aber ich habe "hier" kein Linux...

        Mit Windows Shell gehts genauso, wget und grep muss man sich allerdings erst holen. Ansonsten kann man auch PHP per Commandline ausführen oder WIe Deus Figendi erwähnt hat auch andere Scriptsprachen nutzen - Perl z.B.

        http://phpcrawl.cuab.de/testinterface.html
        scheint ein gutes Teil zu sein, allerdings schaffe ich noch nicht mal den Login zu realisieren :-/

        Du hast zwei Möglichkeiten: nutze irgend ein (verbreitetes) Tool - wenn dem so ist, befrage bei Problemen den hoffentlich vorhandenen Support, denn zu einem Tool das keiner kennt kann dir hier vermutlich niemand Unterstützung bieten.

        Die Zweite: schreib' es selbst - wähle dazu zuerst die Scriptsprache oder den CLI deiner Wahl und frage bei Problemen gezielt nach. "allerdings schaffe ich noch nichtmal den Login zu realisieren" ist absolut wertlos für jemanden, der dir helfen möchte.

        Den Login mit cURL unter PHP zu realiseren sind etwa 5 Zeilen:

        #1 cURL instanzieren bzw. eine Session initialiseren.
        #2 mit curl_setopt() das Cookies-File angeben.
        #3 mit curl_setopt() den Pfad zum Loginscript setzen
        #4 mit curl_setopt() die Methode zum Durchführen des Logins setzen (meistens POST)
        #5 mit curl_setopt() die Parameter für den Request setzen, geschätzt sind das Benutzername und Passwort.
        #6 curl_exec() ausführen.

        Der Ablauf ist eigentlich Simple (Pseudocode):

        Ja, den hab ich ja bereits erläutert.

        * = wonach gesucht wird

        $regex1 = "href="/STV/M/obj/recordOrder/reShowDownload.cfm?*"";
        $regex2 = "<span id="text1"><a href="javascript:showWaitText();document.location.href='*'";
        $regex3 = "<embed type="video/divx" src="*"";

        Das ist nur mit sehr viel Phantasie als Regulärer Ausdruck durchzubringen.