Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Quelltext einer Seite runterladen (https://www.delphipraxis.net/20844-quelltext-einer-seite-runterladen.html)

Die Muhkuh 24. Apr 2004 10:20


Quelltext einer Seite runterladen
 
Hi,


ich möchte den Quelltext einer Seite herunterladen um aus dem Quelltext eine bestimme Zeile zu kopieren, die Seite um die es sich handelt ist www.wetter.de -> Vielleicht merken schon einige was ich vor hab: Quelltext runterladen -> Wetterdaten auslesen.
Ich möchte die Daten von der Statischen Seite einlesen und nicht von der FlashSeite.

Mein Quelltext denn ich schon hatte:

Delphi-Quellcode:
FileStream := TFileStream.Create('C:\Wetter.html', fmCreate);
      try
        HTTP.Get('http://wetter.rtl.de/static/index_ok.php', FileStream);
      finally
        FileStream.Free;
      end;
Geht aber nicht da die Seite PHP ist.

Vielleicht weiß jemand da was.

a.vollmer 24. Apr 2004 10:24

Re: Quelltext einer Seite runterladen
 
Delphi-Quellcode:
str := idhttp1.get('http://www.wetter.de/balbal.php');
Wieso machst du das per FileStream?

Und daten aus wetter.de parsen ist nicht erlaubt...nur mal so!

Alex

S2B 24. Apr 2004 10:24

Re: Quelltext einer Seite runterladen
 
Also wenn man aus einem TWebBrowser den Quelltext der Seite speichern will, dann geht das so:
Delphi-Quellcode:
 //Code auslesen:
function WB_SaveHTMLCode(WebBrowser: TWebBrowser; const FileName: TFileName): Boolean;
var
  ps: IPersistStreamInit;
  fs: TFileStream;
  sa: IStream;
begin
  ps := WebBrowser.Document as IPersistStreamInit;
  fs := TFileStream.Create(FileName, fmCreate);
  try
    sa := TStreamAdapter.Create(fs, soReference) as IStream;
    Result := Succeeded(ps.Save(sa, True));
  finally
    fs.Free;
  end;
end;
Vielleicht kannst du ja den Code entsprechend abändern... Hoffe es bringt dich weiter.

Die Muhkuh 24. Apr 2004 10:24

Re: Quelltext einer Seite runterladen
 
Zitat:

Zitat von a.vollmer
Delphi-Quellcode:
str := idhttp1.get('http://www.wetter.de/balbal.php');
Wieso machst du das per FileStream?

Und daten aus wetter.de parsen ist nicht erlaubt...nur mal so!

Alex

Ui, danke. Wo könnte ich den sonst Wetterdaten legal herbekommen?

a.vollmer 24. Apr 2004 10:26

Re: Quelltext einer Seite runterladen
 
http://www.rssweather.com/


Gibt es auch Wetterdaten für Deutschland...

Gruß

Alex

Die Muhkuh 24. Apr 2004 10:28

Re: Quelltext einer Seite runterladen
 
@S2B,

ne ich hab keinen Webbrowser. Trotzdem danke.

@Alex

danke ich guck mal.

Die Muhkuh 24. Apr 2004 10:31

Re: Quelltext einer Seite runterladen
 
@Alex

hmm leider nicht ganz. Es sollte schon eine Seite auf deutsch sein.


Um wieder zum Thema zurückzukommen:

Der Code geht auch nicht:

Delphi-Quellcode:
Temp := HTTP.Get('http://wetter.rtl.de/static/index_ok.php');

      Temp := Copy(Temp, Pos('<td valign="top" width="435" colspan="3"> ', Temp),
                Pos(' </td>', Temp));
(Ja ich weiß, ich bin immer noch auf wetter.de) :?

a.vollmer 24. Apr 2004 10:43

Re: Quelltext einer Seite runterladen
 
was daran geht nicht?


übrigens wirst du auf der startseite auch nicht viel finden, was wetterdaten betrifft!

Alex

P.S. Wenn du die Daten sowieso parsen willst, wieso nimmst du dann nicht rssweather.com! du musst doch nur die Gradzahl sowie wetterdaten parsen ...der englische text drum rum ist doch egal!

Die Muhkuh 24. Apr 2004 10:46

Re: Quelltext einer Seite runterladen
 
Zitat:

Zitat von a.vollmer
was daran geht nicht?


übrigens wirst du auf der startseite auch nicht viel finden, was wetterdaten betrifft!

Alex

P.S. Wenn du die Daten sowieso parsen willst, wieso nimmst du dann nicht rssweather.com! du musst doch nur die Gradzahl sowie wetterdaten parsen ...der englische text drum rum ist doch egal!

Was nicht geht:

Er zeigt nix an.


zum PS: hmm stimmt auch wieder

Wheelie 24. Apr 2004 11:48

Re: Quelltext einer Seite runterladen
 
Vielleicht hilft dir diese Funktion hier:
Delphi-Quellcode:
Function GetHTML(AUrl: string): string;
var
  databuffer : array[0..4095] of char;
  ResStr : string;
  hSession, hfile, hRequest: hInternet;
  dwindex,dwcodelen,datalen,dwread,dwNumber: cardinal;
  dwcode : array[1..20] of char;
  res   : pchar;
  Str   : pchar;
begin
  ResStr:='';
  if pos('http://',lowercase(AUrl))=0 then
     AUrl:='http://'+AUrl;
  hSession:=InternetOpen('InetURL:/1.0',
                         INTERNET_OPEN_TYPE_PRECONFIG,
                         nil,
                         nil,
                         0);
  if assigned(hsession) then
  begin
    hfile:=InternetOpenUrl(
           hsession,
           pchar(AUrl),
           nil,
           0,
           INTERNET_FLAG_RELOAD,
           0);
    dwIndex := 0;
    dwCodeLen := 10;
    HttpQueryInfo(hfile,
                  HTTP_QUERY_STATUS_CODE,
                  @dwcode,
                  dwcodeLen,
                  dwIndex);
    res := pchar(@dwcode);
    dwNumber := sizeof(databuffer)-1;
    if (res ='200') or (res ='302') then
    begin
      while (InternetReadfile(hfile,
                              @databuffer,
                              dwNumber,
                              DwRead)) do
      begin
        if dwRead =0 then
          break;
        databuffer[dwread]:=#0;
        Str := pchar(@databuffer);
        resStr := resStr + Str;
      end;
    end
    else
      ResStr := 'Status:'+res;
    if assigned(hfile) then
      InternetCloseHandle(hfile);
  end;
  InternetCloseHandle(hsession);
  Result := resStr;
end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Memo1.Text := GetHTML('http://wetter.rtl.de/static/index_ok.php');
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz