Announcement

Collapse
No announcement yet.

Quelltext einer Internetseite abspeichern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Quelltext einer Internetseite abspeichern

    Hallo,

    ich möchte gerne die unzähligen Wetterinformationen, die ich auf einer Internetseite gefunden habe, mit einem eigenen Programm auswerten. Dafür möchte ich den Quelltext der Internetseite zuerst abspeichern und danach analysieren.
    Das Analysieren ist nicht das Problem, aber wie bekomme ich mit Delphi (5) den Quelltext einer Internetseite aufgerufen und gespeichert?

    Gunter

  • #2
    Hallo,

    wenn diese Webseite im Programm bereits in einer <b>TWebBrowser</b>-Komponente angezeigt wird - Beispiel: <i>WebBrowser1.Navigate('http://www.entwickler-forum.de')</i> - kann man folgendes machen:
    <pre>
    procedure TForm1.ToolButton3Click(Sender: TObject);
    var
    vHTML : OleVariant;
    begin
    if not VarIsEmpty(WebBrowser1.Document) then
    vHTML := OleVariant(WebBrowser1.Document).Script.Document.B ody.InnerHTML;
    ShowMessage(vHTML);
    end;
    </pre&gt

    Comment


    • #3
      Hallo Andreas,
      danke für die Antwort.

      Eigentlich wollte ich die Seite nicht anzeigen, sondern mit bloss den Quelltext laden um den dann zu analysieren.
      Ich schätze auch, dass die TWebBrowser Komponente das Programm unnötigerweise zu gross werden lässt.
      Also mir wäre es am liebsten, wenn sich das ohne TWebBrowser lösen liesse.

      Gunte

      Comment


      • #4
        Hallo Gunter,<br>
        hinter TWebBrowser verbirgt sich das Active X des IE 4. Daher bläht die Komponente<br>
        Dein Programm nicht sonderlich auf. Der Haken ist aber, das min. der IE 4 auf dem Rechner<br>
        installiert sein muß. <br>
        <pre>
        <font face="Verdana" size="1" color="#000000">procedure TForm1.ToolButton3Click(Sender: TObject);
        var
        vHTML : OleVariant;
        <b>HTMLText</b> : String;
        begin
        if not VarIsEmpty(WebBrowser1.Document) then
        vHTML := OleVariant(WebBrowser1.Document).Script.Document.B ody.InnerHTML;
        <b>HTMLText</b>:=vHTML;
        ShowMessage(HTMLText); // Hier mußt Du den Text nicht anzeigen
        end;</font>
        </pre>
        Wenn die TWebBrowser Komponente nicht verwenden willst, kannst Du auf TNMHTTP zurückgreifen. Die Komponente<br>
        findest Du auf dem FastNet Register.<br>
        <pre>
        <font face="Verdana" size="1" color="#000000">procedure TForm1.Button1Click(Sender: TObject);
        var
        URL : String;
        begin
        URL:='http://www.entwickler.com';
        NMHTTP.Get(URL); // HTTPRequest abschicken
        end;

        //Im OnSuccess Event kannst Du dir dann den HTML Text abholen
        procedure TForm1.NMHTTPSuccess(Cmd: CmdType);
        begin
        Memo1.Text:=NMHTTP.Body;
        end;</font>
        </pre>
        Jens Schumann<br&gt

        Comment


        • #5
          was spricht eigentlich dagegen, die seite local auf festplatte zu speichern und dann als textdatei zu öffnen

          gruß

          marku
          Herzliche Grüße

          Markus Lemcke
          barrierefreies Webdesign

          Comment


          • #6
            Hallo Markus, gar nichts spricht dagegen, die Seite lokal auf der Festplatte zu speichen,<br>
            wenn man es denn möchte. Wenn man nur einige Informationen aus dem Quelltext ziehen<br>
            will, ist das Speichern der Seite ziemlich aufwendig und sogar unnötig.<br>
            Jens Schumann<br&gt

            Comment

            Working...
            X