AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Quellcode einer Webseite herunterladen
Thema durchsuchen
Ansicht
Themen-Optionen

Quellcode einer Webseite herunterladen

Ein Thema von Amateurprofi · begonnen am 11. Jul 2012 · letzter Beitrag vom 28. Okt 2012
 
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.043 Beiträge
 
Delphi XE2 Professional
 
#1

Quellcode einer Webseite herunterladen

  Alt 11. Jul 2012, 21:41
Ich möchte den Quellcode einer Webseite herunterladen und auswerten.
Zurzeit mache ich das manuell indem ich auf der Webseite "Quellcode anzeigen" wähle.
Dann erscheint ein neues Fenster, das ein RichEdit enthält, in dem der Quellcode steht.
Mit Strg-A und Strg-C kopiere ich den gesamten Inhalt ins Clipboard, das mein Programm dann auswertet.

Nun möchte ich das automatisieren, d.h. mein Programm soll im Hintergrund laufen und alle paar Minuten ohne mein Zutun den Quellcode herunterladen und auswerten.
Ich habe hier auch schon einige Beiträge gelesen und die gezeigten Routinen ausprobiert, leider ohne Erfolg.

Dieses scheint zumindest teilweise zu funktionieren, liefert aber nur einen kleinen Teil der Daten und auch innerhalb dieses Teiles fehlen einige Daten.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   IdHttp:TIdHttp;
   data:string;
begin
   // data:=LoadUrl('http://www.030chat.de');
   idHttp:=TIdHttp.Create;
   Data := IdHTTP.Get('http://www.030chat.de');
   idHttp.Free;
   Memo1.Text:=data;
end;
Ein anderes das ich ausprobierte liefert einen leeren String, obwohl ein paar Daten geladen wurden.
Delphi-Quellcode:
function LoadURL(URL: String): String;
var
   IOpen, IURL: HINTERNET;
   Read: Cardinal;
   Msg: array[0..4096] of Char;
begin
   Result := '';
   IOpen := InternetOpen('GetIP', INTERNET_OPEN_TYPE_PRECONFIG, '', '',
                         INTERNET_FLAG_NEED_FILE);
   if IOpen <> nil then
   try
     IURL := InternetOpenUrl(IOpen, PWideChar(URL), nil, 0,
                             INTERNET_FLAG_NO_UI or INTERNET_FLAG_PRAGMA_NOCACHE
                             or INTERNET_FLAG_RELOAD, 0);
     if IURL <> nil then
     try
       repeat
         FillChar(Msg, SizeOf(Msg), 0);
         if InternetReadFile(IURL, @Msg[0], Pred(SizeOf(Msg)), Read) then
           Result := Result + Msg else
             Break;
       until Read = 0;
     finally
       InternetCloseHandle(IURL);
     end;
   finally
     InternetCloseHandle(IOpen);
   end;
end;
Das dritte, das ich probiert habe basiert auf TWebBrowser, liefert aber, wie das erste nur einen kleinen Teil der Daten (anscheinend nur den Header der Seite).

Ich habe mich bisher nie mit "Internet" beschäftigt, stehe sozusagen auf dem Schlauch und bekomme Verständnis für Beiträge in denen jemand fragt "wie kann ich zwei Zahlen addieren".

Könnte mir bitte jemand weiterhelfen ?
Was ich vorzugsweise möchte, ist das, was ich bei eingangs beschriebener Vorgehensweise erhalte.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz