Matthias Jütte: Links aus Directory Listing parsen

Hallo!

Kennt jemand von euch eine fertige Lösung um alle Verzeichnis- und Dateilinks aus dem HTML-Code eines Directory Listings (wie hier:http://spamassassin.apache.org/publiccorpus/obsolete/?C=M;O=A auszulesen?

Man sagte mir, daß das in Perl mittels LWP möglich sei. Das sagt mir aber gar nichts, ich suche eine PHP-Lösung. Aber vielleicht macht das die Sache für den ein oder anderen klarer.

Gruß

Matthias

--
ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
http://www.makaio.de/quotations
  1. Hallo!

    Kennt jemand von euch eine fertige Lösung um alle Verzeichnis- und Dateilinks aus dem HTML-Code eines Directory Listings (wie hier:http://spamassassin.apache.org/publiccorpus/obsolete/?C=M;O=A auszulesen?

    Ja! Ich bin mir sicher Du auch. Stellt Euch doch nicht immer so an, als wäre PHP nur eine Brücke für Datenbanken! Der ausgegebene Directoryindex ist auch nichts weiter als ein String, den man zerlegen lassen kann. In Deinem Beispiel ist ein sauberer Trenner
    {alt="[   ]"> <a href="}

    $text=explode('alt="[   ]"> <a href="',file_get_contents('http://domain.tld/verzeichnis/'));
    for($i=1;$text[$i];$i++)
       {
       $x=explode('"',$text[$i],2);
       $a[]=$x[1];
       }
    print_r($a);

    Entschludige, daß Du jetzt meinen Brast abbekommst, aber ist doch wirklich war.

    Gruß aus Berlin!
    eddi

    --
    at, wie er leibt und lebt auf ein Posting
    > > Nein, ich denke nicht.
    gepromptet
    > Das empfiehlt sich aber.
    :))))
    1. $text=explode('alt="[   ]"> <a href="',file_get_contents('http://domain.tld/verzeichnis/'));
      for($i=1;$text[$i];$i++)
         {
         $x=explode('"',$text[$i],2);
      #   $a[]=$x[1];

      $a[]=$x[0];

      }
      print_r($a);

      Gruß aus Berlin!
      eddi

      --
      at, wie er leibt und lebt auf ein Posting
      > > Nein, ich denke nicht.
      gepromptet
      > Das empfiehlt sich aber.
      :))))
    2. Hallo!

      Ja! Ich bin mir sicher Du auch.

      Da hast du Recht, dein Vorschlag von unten (zumindest die Richtung) ist mein Plan B.

      Stellt Euch doch nicht immer so an, als wäre PHP nur eine Brücke für Datenbanken!

      Tun wir doch nicht ... immer ;-)

      In Deinem Beispiel ist ein sauberer Trenner
      {alt="[   ]"> <a href="}

      Habe mir die Seite jetzt gar nicht so genau angesehen, aber in meinem konkreten Fall kann es auch vorkommen, daß da alt="[DIR]", alt="[TXT]" und was weiß ich noch was steht.

      Weiterhin brauche ich nicht nur den Link, sondern auch dessen Bezeichnung (also den Text zwischen den <a>-Tags. Un dann muß ich ja danach auch noch das Datum rausschmeißen.

      Das wird also schon ein recht vielschrittiges Rumgeschnipsel pro Zeile, um das ich mich natürlich drücken will (wie sagt man so schön: das Rad nicht neu erfinden).

      Wenn also doch noch jemand weiß, ob es dazu schon was Fertiges (ich weiß bereits, das wir hier bei SELF-blablabla sind) gibt, oder ob es eleganter geht, immer her damit.

      Entschludige, daß Du jetzt meinen Brast abbekommst, aber ist doch wirklich war.

      NP, muß ja immer mal wieder sein. Hab' jetzt einen gut bei dir ;-)

      Gruß

      Matthias

      --
      ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
      http://www.makaio.de/quotations
      1. Hallo!

        Habe mir die Seite jetzt gar nicht so genau angesehen, aber in meinem konkreten Fall kann es auch vorkommen, daß da alt="[DIR]", alt="[TXT]" und was weiß ich noch was steht.

        dann ist Dein Trenner {]"> <a href="} wobein im o. g. Beispiel $a[0] (ggf. auch $a[count($a)-1]) nicht Dateien/Verzeichnisse bezeichen.

        Weiterhin brauche ich nicht nur den Link, sondern auch dessen Bezeichnung (also den Text zwischen den <a>-Tags. Un dann muß ich ja danach auch noch das Datum rausschmeißen.

        Bitte zeige mir einen DirectoryIndex, wo der Link nicht dem Textknoten entspricht und ich bau Dir die Lösung...

        Das wird also schon ein recht vielschrittiges Rumgeschnipsel pro Zeile, um das ich mich natürlich drücken will (wie sagt man so schön: das Rad nicht neu erfinden).

        Nein, daher war ich doch so sauer. Sorry noch mal.

        Wenn also doch noch jemand weiß, ob es dazu schon was Fertiges (ich weiß bereits, das wir hier bei SELF-blablabla sind) gibt, oder ob es eleganter geht, immer her damit.

        Gruß aus Berlin!
        eddi

        --
        at, wie er leibt und lebt auf ein Posting
        > > Nein, ich denke nicht.
        gepromptet
        > Das empfiehlt sich aber.
        :))))
        1. Hallo!

          Bitte zeige mir einen DirectoryIndex, wo der Link nicht dem Textknoten entspricht und ich bau Dir die Lösung...

          Hast natürlich Recht, du hast mich kurz davor es doch selbst zu versuchen ;-)

          Gruß

          Matthias

          --
          ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
          http://www.makaio.de/quotations
          1. Hallo!

            Hast natürlich Recht, du hast mich kurz davor es doch selbst zu versuchen ;-)

            Mach mal ;)  - ist ganz einfach und auch wesentlich erfahrungsträchtiger als: Chips-Tüte auf und fertig ist das Abendmahl

            Gruß aus Berlin!
            eddi

            --
            at, wie er leibt und lebt auf ein Posting
            > > Nein, ich denke nicht.
            gepromptet
            > Das empfiehlt sich aber.
            :))))
            1. Hallo!

              Habe es jetzt so gelöst:

              $file = file_get_contents("<URI>");

              preg_match_all("#(alt|ALT)="[(.{3})]"> <(a|A) (href|HREF)="(.*)">(.*)</(a|A)>#", $file, $matches);

              foreach ($matches[5] as $key => $val) {
                  echo "<a href="".$val."">".$matches[6][$key]."</a><br />";
              }

              War gar nicht so schwer, danke nochmal für den A**tritt! ;-)

              Gruß

              Matthias

              --
              ss:| zu:| ls:[ fo:| de:] va:) ch:? sh:) n4:( rl:( br:> js:| ie:% fl:) mo:}
              http://www.makaio.de/quotations