Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Полностью скачать страничку


Автор: DenCobra 9.10.2006, 13:42
Как можно скачать страничку полностью вместе с картинками. и т.п а не только голый html

Автор: Snowy 9.10.2006, 14:05
скачать html, найти в нём тэги <img> и запросить указанные там картинки.
Всё вместе это не скачивается - каждая картинка - отдельный файл и должна запрашиваться отдельно.

Автор: Teran 9.10.2006, 18:06
Цитата(Snowy @  9.10.2006,  14:05 Найти цитируемый пост)
скачать html, найти в нём тэги <img> и запросить указанные там картинки.

а как же тогда быть с разными скриптами???

Автор: Fallen_Angel 9.10.2006, 21:54
Вот код... сохраняет с картинками и т.п.

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, OleCtrls, SHDocVw, ActiveX, MSHTML;

type
  TForm1 = class(TForm)
    WebBrowser1: TWebBrowser;
    Edit1: TEdit;
    Button1: TButton;
    Button2: TButton;
    SaveDialog1: TSaveDialog;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure SaveHTMLSourceToFile(const FileName: string;
  WB: TWebBrowser);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.SaveHTMLSourceToFile(const FileName: string;
  WB: TWebBrowser);
var
  PersistStream: IPersistStreamInit;  
  FileStream: TFileStream;  
  Stream: IStream;  
  SaveResult: HRESULT;  
begin  
  PersistStream := WB.Document as IPersistStreamInit;  
  FileStream := TFileStream.Create(FileName, fmCreate);  
  try  
    Stream := TStreamAdapter.Create(FileStream, soReference) as IStream;  
    SaveResult := PersistStream.Save(Stream, True);  
    if FAILED(SaveResult) then
      MessageBox(Handle, 'Fail to save HTML source', 'Error', 0);
  finally
    FileStream.Free;  
  end;

  try
    WebBrowser1.ExecWB(4, 0);
  except
    on E: Exception do  ShowMessage('bred');
  end;
end;  

procedure TForm1.Button1Click(Sender: TObject);
begin  
  if SaveDialog1.Execute then
    SaveHTMLSourceToFile(SaveDialog1.FileName, WebBrowser1);  
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
WebBrowser1.Navigate(Edit1.Text);
end;

end.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)