Gabi: Gästebuch auslesen

Hallo zusammen,

das ist hier bestimmt nicht das richtige Forum, aber vielleicht kann ja trotzdem jemand einer Verzweifelten helfen.

Ein paar Freundinnen und ich schreiben uns gegenseitig immer in unsere Gästebücher. Die Gästebücher liegen bei brigitte.de

Im Laufe der Zeit sind da tausende Einträge zusammengekommen. Diese möchte ich gerne kopieren und in ein Wordfile kopieren. So kann ich dann für meine Freundinnen ein Buch zusammenstellen.

Natürlich will ich das nicht per Hand machen, denn dafür sind es einfach zu viele Einträge auf zu vielen Seiten in zu vielen Gästebüchern.

Leider kann man sich nicht alle Einträge eines Gästebuchs auf einmal anzeigen lassen.

Gibt es ein Programm, das automatisch Webseiten ausliest und den Text rauszieht?

Die Gästebücher kann man via URL aufrufen. Sind php-Seiten und über die URL wird die Gästebuch-ID und die aktuell angezeigte Seite als Variablen mitgeliefert.

DANKE AN EUCH,
GABI

  1. MORGEN!!!

    das ist hier bestimmt nicht das richtige Forum, aber vielleicht kann ja trotzdem jemand einer Verzweifelten helfen.

    Nana, so verzweifelt klingst du aber nicht :-)

    Natürlich will ich das nicht per Hand machen, denn dafür sind es einfach zu viele Einträge auf zu vielen Seiten in zu vielen Gästebüchern.

    Wirst du aber müssen, denn die Einträge werden gespeichert, meistens in eine Datenbank, manchmal auch in Dateien. Und auf die kannst du nicht zugreifen, weil du kein Benutzername und kein Passwort für die Datenbank hast, und ebenfalls nicht weißt, welche Dateien benutzt werden für die Gästebucheinträge.

    Gibt es ein Programm, das automatisch Webseiten ausliest und den Text rauszieht?

    Nein, so ein Programm wäre illegal.

    Die Gästebücher kann man via URL aufrufen. Sind php-Seiten und über die URL wird die Gästebuch-ID und die aktuell angezeigte Seite als Variablen mitgeliefert.

    Irrelevant. Aber lass dir gesagt sein, dass dein Vorhaben nicht verwirklicht werden kann. Leider musst du die Einträge von Hand kopieren.

    PS: Warum willst du davon überhaupt ein Buch, wenns doch eh schon im Internet steht? Willst du es veröfftenlichen?

    Ich werde dich morgen nicht aufwecken, du musst schon alleine aufstehen. Dein Frühstück steht auf dem Tisch!
    Deine Mami

    1. hi,

      Natürlich will ich das nicht per Hand machen, denn dafür sind es einfach zu viele Einträge auf zu vielen Seiten in zu vielen Gästebüchern.

      Wirst du aber müssen, denn die Einträge werden gespeichert, meistens in eine Datenbank, manchmal auch in Dateien. Und auf die kannst du nicht zugreifen, weil du kein Benutzername und kein Passwort für die Datenbank hast, und ebenfalls nicht weißt, welche Dateien benutzt werden für die Gästebucheinträge.

      aha, wie kommt Dein Browser daran?

      Gibt es ein Programm, das automatisch Webseiten ausliest und den Text rauszieht?

      Nein, so ein Programm wäre illegal.

      Wo steht das?

      Die Gästebücher kann man via URL aufrufen. Sind php-Seiten und über die URL wird die Gästebuch-ID und die aktuell angezeigte Seite als Variablen mitgeliefert.

      Irrelevant. Aber lass dir gesagt sein, dass dein Vorhaben nicht verwirklicht werden kann. Leider musst du die Einträge von Hand kopieren.

      Quatsch!

      PS: Warum willst du davon überhaupt ein Buch, wenns doch eh schon im Internet steht? Willst du es veröfftenlichen?

      War nicht die Frage, oder?

      Zur Frage an sich:
      Such mal nach wget (für Linux) oder httrack.

      Gruß
      Reiner

      1. hi,

        Natürlich will ich das nicht per Hand machen, denn dafür sind es einfach zu viele Einträge auf zu vielen Seiten in zu vielen Gästebüchern.

        Wirst du aber müssen, denn die Einträge werden gespeichert, meistens in eine Datenbank, manchmal auch in Dateien. Und auf die kannst du nicht zugreifen, weil du kein Benutzername und kein Passwort für die Datenbank hast, und ebenfalls nicht weißt, welche Dateien benutzt werden für die Gästebucheinträge.

        aha, wie kommt Dein Browser daran?

        Ooch, ich bitte dich. Dein Browser kommt nicht dran, das macht PHP auf dem Server, und der holt die Einträge, verarbeitet diese und schreibt sie in die Datei (die, in der der PHP-Code steht) und schickt diese zum Browser.

        Gibt es ein Programm, das automatisch Webseiten ausliest und den Text rauszieht?

        Nein, so ein Programm wäre illegal.

        Wo steht das?

        PHP-Scripts zu holen ist illegal. Weißt du das nicht? Schon aufgrund der Möglichkeit, dass mit PHP auf passwortgeschützte Datenbanken zugegriffen werden kann, und deshalb in PHP-Skripts diese Passwörter drin stehen, und man mit diesem dann die Datenbank hacken kann.
        Bitte, benutze dein Gehirn!

        Die Gästebücher kann man via URL aufrufen. Sind php-Seiten und über die URL wird die Gästebuch-ID und die aktuell angezeigte Seite als Variablen mitgeliefert.

        Irrelevant. Aber lass dir gesagt sein, dass dein Vorhaben nicht verwirklicht werden kann. Leider musst du die Einträge von Hand kopieren.

        Quatsch!

        Und was schlägst du vor?

        PS: Warum willst du davon überhaupt ein Buch, wenns doch eh schon im Internet steht? Willst du es veröfftenlichen?

        War nicht die Frage, oder?

        Und drei mal darfst du raten, warum ich das in den PS und nicht in den Thread an sich geschrieben habe...

        Zur Frage an sich:
        Such mal nach wget (für Linux) oder httrack.

        Und die machen doch nichts anderes, als das Ergebnis der PHP-Abfrage zu kopieren. Da bist du besser dran, wenn du die Einträge einfach kopierst, du sparst dir das HTML-Zeug drumrum.

        mfg
        deine mami

        1. Hiho,

          leider ist nur ein verschwinden geringer Bruchteil deiner Aussagen korrekt:

          Ooch, ich bitte dich. Dein Browser kommt nicht dran, das macht PHP auf dem Server, und der holt die Einträge, verarbeitet diese und schreibt sie in die Datei (die, in der der PHP-Code steht) und schickt diese zum Browser.

          1.) PHP schreibt gar nichts in die Datei. Vielmehr versucht der Browser die PHP Datei herunterzuladen. Der Server verhindert dies und gibt stattdessen den Inhalt der PHP Datei an den PHP Interpreter weiter. Dieser verarbeitet den PHP Code und liefert das Ergebniss an den Server zurück. Und dieser schickt dann auf die Browseranfrage: "Ich hätte geren guestbook.php" ein "ok, hier hast du sie. Die datei enthält <Ergebniss des PHP Interpreters>". Soviel zum technischen Ablauf
          2.) Mit einem entsprechend clever geschriebenen programm (oder auch PHP Script) ist es ohne Probleme möglich aus dem was der Server an den Browser sendet automatisiert die HTML-Tags rauszuwerfen und die reinen Gästebucheinträge abzufangen. Damit fängt man halt erst mal nur die X Einträge die auf einmal in einer Seite an den Browser gesendet werden. Aber praktischerweise ist PHP ja geduldig und kann dann einfach nochmal anfragen für die nächste seit usw.

          PHP-Scripts zu holen ist illegal. Weißt du das nicht?

          Häh? Sorry, aber dieser Satz ist genauso sinnvoll wie "Brötchen holen ist illegal".

          Schon aufgrund der Möglichkeit, dass mit PHP auf passwortgeschützte Datenbanken zugegriffen werden kann, und deshalb in PHP-Skripts diese Passwörter drin stehen, und man mit diesem dann die Datenbank hacken kann.

          1.) Wenn ich das Passwort habe brauche ich die Datenbank nicht zu hacken
          2.) Keiner redet hier vom holen des PHP Codes (das geht auf nem sauber konfigurierten Server gar nicht) sondern vom verarbeiten der Ausgaben des PHP Codes
          3.) Wenn der Server fehlerhaft konfiguriert wäre und die Passwörter einfach so ausliefert dann ist das alles andere als illegal die "PHP Scripte zu holen"

          Und was schlägst du vor?

          Ich gehe mal davon aus er schlägt vor ein System zu schreiben das nacheinander alle Seiten des Gästebuchs abruft, aus diesen die eigentlichen Einträge extrahiert und irgendwo speichert.

          Und die machen doch nichts anderes, als das Ergebnis der PHP-Abfrage zu kopieren. Da bist du besser dran, wenn du die Einträge einfach kopierst, du sparst dir das HTML-Zeug drumrum.

          Mit dem Unterschied, das du in dem Fall alles per Hand machen musst und bei wget und co. das ergebniss evtl. automatisch verarbeiten lassen kannst.

          Alles in allem (und das ist nicht böse gemeint): Du verfügst über ziemlich viel Halbwissen. Alles was du sagst könnte zwar irgendwie so ähnlich sein, effektiv ist es aber eine Vermischung aus falschen Annahmen, Informationsbröckchen die sich wohl mal ursprünglich auf andere Dinge bezogen haben und einer (absolut nicht gerechtfertigten) übertriebenen Überzeugung in dein Wissen. Vielleicht solltest du etwas von deinem Selbstvertrauen abrücken und zulassen das du dein bisheriges Wissen immer wieder kritisch überprüfst, offen für Korrekturen von anderen bist und deine Halbwahrheiten nicht so absolut überzeugt Leuten vorträgst, die noch weniger Ahnung haben (ein "soweit ich weiss" oder "meiner Meinung nach" hier und da mal eingepflegt wäre hilfreich, damitd eine Annahmen nicht so als unumstössliche Wahrheiten rüberkommen).

          Grüße

          Marc

          1. Danke für Eure Antworten, aber die rechte Lösung habe ich noch nicht entdeckt. Oder ratet ihr mir ein php-Programm zu schreiben, welches:

            • die Seiten aufruft
            • die Inhalte kopiert (HTML-Code)
            • aus dem Inhalt den HTML-Kram entfernt
            • und den Text dann am Bildschirm anzeigt

            so dass ich diesen dann später kopieren und in Word einfügen kann?

            Wenn ja, könntet ihr mir mal bitte hinter jede Zeile schreiben, nach welchen PHP Befehlen ich suchen muss, um mir sowas zusammen zu bauen. Ich kenn mich damit nämlich nicht so aus.

            VIELEN DANK,
            GABI

            1. Hallo Freunde des gehobenen Forumsgenusses,

              • die Seiten aufruft

              fsockopen(), oder (weniger sauber file_get_contents)

              • die Inhalte kopiert (HTML-Code)

              $inhalt = file_get_contents('http://example.com/gb/');

              • aus dem Inhalt den HTML-Kram entfernt

              strip_tags();

              • und den Text dann am Bildschirm anzeigt

              echo, oder wenn du in eine Datei schreiben willst file_put_contents();
              Vielleicht brauchst du noch str_replace oder preg_replace, um die Überschrift etc.
              von jeder Seite zu entfernen.

              Aber zeig doch mal das Gästebuch

              so dass ich diesen dann später kopieren und in Word einfügen kann?

              Ganz genau. Vielleicht auch in eine Text-Datei speichern und die in Word öffnen.

              Gruß
              Alexander Brock

              --
              SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:? ss:| de:> js:( ch:| sh:( mo:} zu:}
              http://againsttcpa.com
              1. VIELEN DANK FÜR DIE VIELEN VORSCHLÄGE!
                Ich fange jetzt mal an zu testen.

                Ciao, Gabi

            2. hi.
              Das BS ist eine Dose!

              Danke für Eure Antworten, aber die rechte Lösung habe ich noch nicht entdeckt. Oder ratet ihr mir ein php-Programm zu schreiben, welches:

              Nö, ersteinmal nach etwas Software suchen, die das auf eine zu gebrauchende Art macht (Stripper-Program).

              • die Seiten aufruft
              • die Inhalte kopiert (HTML-Code)

              Nö, lokal auf die Festplatte speichert.

              • aus dem Inhalt den HTML-Kram entfernt

              Nö, ersteinmal nach etwas Software suchen, die das auf eine zu gebrauchende Art macht (html2text).

              • und den Text dann am Bildschirm anzeigt

              und lokal auf die Festplatte speichert.

              so dass ich diesen dann später kopieren und in Word einfügen kann?

              Nö, Word beibringen diese Dateien selbst einzulesen.
              und wenn es ganz wichtig ist, frage Brigitte.de ob die nicht eine Datei für dich haben oder schreiben.

              VIELEN DANK,
              GABI

              Bitte
              Lukas

        2. Hi,

          PHP-Scripts zu holen ist illegal. Weißt du das nicht?

          Nö, ich mache das regelmäßig und es hat sich noch nie einer beschwert. Mitunter bekommt man sie sogar richtiggehend aufgedrängt!

          Schon aufgrund der Möglichkeit, dass mit PHP auf passwortgeschützte Datenbanken zugegriffen werden kann, und deshalb in PHP-Skripts diese Passwörter drin stehen,

          Wenn das korrekt gemacht wurde ist das völlig egal.

          und man mit diesem dann die Datenbank hacken kann.

          Nein, dann muß man nichts mehr hacken/chracken, dann kann man sich ganz einfach einloggen.

          Bitte, benutze dein Gehirn!

          Warum meines? Ist auf Deinem etwa noch Garantie drauf?

          Irrelevant. Aber lass dir gesagt sein, dass dein Vorhaben nicht verwirklicht werden kann. Leider musst du die Einträge von Hand kopieren.

          Quatsch!

          Und was schlägst du vor?

          Mit ein wenig $SCRIPTSPRACHE_DU_JOUR die relevanten Dinge aus dem autogeneriertem und deshalb -- und natürlich auch noch viel Glück -- parsebares HTML rausziehen.

          Zur Frage an sich:
          Such mal nach wget (für Linux) oder httrack.

          Und die machen doch nichts anderes, als das Ergebnis der PHP-Abfrage zu kopieren. Da bist du besser dran, wenn du die Einträge einfach kopierst, du sparst dir das HTML-Zeug drumrum.

          Man kann sowas Seite für Seite von Hand machen oder automatisieren. Bei der Menge von "einigen tausend" wäre automatisieren wohl angebrachter.
          Es sei denn, das es möglich wäre, sich alle Einträge auf einer einzigen Seite anzeigen zu lassen, dann wäre ein C&P günstiger. Problem dürfte dabei aber der Browser und im Falle von C&P auch das OS sein, da es sich bei der Menge um eine recht große Datei handeln wird.

          so short

          Christoph Zurnieden

        3. hi,

          Dein Browser kommt nicht dran, das macht PHP auf dem Server, und der holt die Einträge, verarbeitet diese und schreibt sie in die Datei (die, in der der PHP-Code steht) und schickt diese zum Browser.
          [...]
          PHP-Scripts zu holen ist illegal. Weißt du das nicht? Schon aufgrund der Möglichkeit, dass mit PHP auf passwortgeschützte Datenbanken zugegriffen werden kann, und deshalb in PHP-Skripts diese Passwörter drin stehen, und man mit diesem dann die Datenbank hacken kann.
          Bitte, benutze dein Gehirn!

          Ich hab grad Dieter Nuhr in der Leitung, der will dich sprechen, und dir was wichtiges sagen ...

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Moin.

    Gibt es ein Programm, das automatisch Webseiten ausliest und den Text rauszieht?

    Du suchst einen Offline Reader. Im heise online - Software-Verzeichnis findest Du eine ganze Reihe solcher Programme. Die holen Dir den Inhalt einer Webseite, auch den der verlinkten Unterseiten auf Deinen PC - vorausgesetzt, Du definierst die Filter richtig, sonst hast Du u.U. ganz brigitte.de auf Deinem Rechner ;-).

    Du mußt "nur" noch den eigentlichen Text zu extrahieren. Möglichger Weise bietet eins der Programme ja sogar an, nur den reine Inhalt abzuspeichern.

    Gruß Frank

  3. Hallo zusammen,

    nach den super Tipps von gestern habe ich angefangen mir ein PHP Programm zu basteln, welches mir die Gästebücher bei Brigitte.de ausliest und als Text (ohne html tags) am Monitor anzeigt.

    So sieht es aus:
    <?
    $inhalt = file_get_contents('http://www.gaestebuch.de');
    $inhalt = strip_tags ($inhalt);
    echo $inhalt;
    ?>

    Jetzt habe ich folgendes Problem. Die Gästebücher kann man nur anschauen, wenn man sich bei brigitte.de eingeloggt hat. Wie kann ich denn jetzt meinem Proggi den Usernamen und das Passwort mitgeben? Ich denke, die Infos werden bei mir lokal in einem Cookie gespeichert. So kann der Server auf dem das PHP-Script läuft natürlich nicht darauf zugreifen.

    HILFE,
    Gabi

    1. Moin.

      Jetzt habe ich folgendes Problem. Die Gästebücher kann man nur anschauen, wenn man sich bei brigitte.de eingeloggt hat.

      Wie loggst Du Dich denn ein? Ist das per http-Auth gelöst oder übernimmt das ein loginscript?

      http-auth: Du kannst Passwort/Username in derURL mitgeben:
      $inhalt = file_get_contents('http://username:passwort@www.gaestebuch.de');

      ABER: 1. ist das nicht RFC-konform, es muß also vom Webserver nicht unterstützt werden. Und 2. stehen möglicher Weise Username und Passwort im Klartext in diversen Logfiles, z.B. auf einem Proxy.

      Beim Loginscript bekommst Du event. ein sessionID, die Du dann immer mitschicken mußt. Sieh Dir mal die URL an, nachdem Du Dich eingeloggt hast.

      Gruß Frank

      1. hi,

        http-auth: Du kannst Passwort/Username in derURL mitgeben:
        $inhalt = file_get_contents('http://username:passwort@www.gaestebuch.de');

        ABER: 1. ist das nicht RFC-konform, es muß also vom Webserver nicht unterstützt werden.

        doch, ist es.
        in einem HTTP-URL ist das nicht erlaubt, ja.
        aber PHP setzt obigen pseudo-URL erst mal um, bevor es den request abschickt - und fordert dann also die adresse an, und übergibt, die auth-daten so, wie HTTP es fordert.

        Und 2. stehen möglicher Weise Username und Passwort im Klartext in diversen Logfiles, z.B. auf einem Proxy.

        hell yeah, wenn ein proxy-betreiber da mitlesen wollte - das könnte er auch beim anfordern der seite über den browser, weil die auth-daten im klartext übertragen werden.

        gruß,
        wahsaga

        --
        /voodoo.css:
        #GeorgeWBush { position:absolute; bottom:-6ft; }