Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

Как сохранить интернет-страницу из TWebBrowser с рисунками?   Найти похожие ветки 

 
Volf_555   (2006-01-12 22:15) [0]

Как сохранить интернет-страницу из TWebBrowser с рисунками на диск, то есть - полностью?


 
ZeFiR ©   (2006-01-12 22:58) [1]

Бери сразу TEmbeddedWB последней версии
В нем пишеться примерно следующее:
WB.SaveDialog;

Ели ты такой настойчивый насчет стандартного TWebBrowser, то вот примерчик... правда сохраняет только картинки, но думаю докумекаешь, как все это объединить;)

uses
  UrlMon;

function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
  try
    Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0,
      nil) = 0;
  except
    Result := False;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  k, p: Integer;
  Source, dest, ext: string;
begin
  for k := 0 to WebBrowser1.OleObject.Document.Images.Length - 1 do
  begin
    Source := WebBrowser1.OleObject.Document.Images.Item(k).Src;
    p := LastDelimiter(".", Source);
    ext := UpperCase(Copy(Source, p + 1, Length(Source)));
    if (ext = "GIF") or (ext = "JPG") then
    begin
      p  := LastDelimiter("/", Source);
      dest := ExtractFilePath(ParamStr(0)) + Copy(Source, p + 1,
        Length(Source));
      DownloadFile(Source, dest);
    end;
  end;
end;


 
Dark Lord ©   (2006-01-13 15:29) [2]

Я так делал - то есть объединял сохранение самого файла и рисунков, так у меня потом этот хтмл своих рисунков не видит. Как сохранить именно так, чтобы к файлу создавалась зависимая папка, в которую сохраняются все ресурсы или хотя бы толлько рисунки - типа "Сохранить страницу полностью" как в ИЕксплорере?


 
Rouse_ ©   (2006-01-13 16:10) [3]

unit Unit1;

interface

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

type
 TForm1 = class(TForm)
   WebBrowser1: TWebBrowser;
   Button1: TButton;
   procedure FormCreate(Sender: TObject);
   procedure Button1Click(Sender: TObject);
 private
   procedure SaveAllImages;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 WebBrowser1.Navigate("www.ya.ru");
end;

function DownloadFile(SourceFile, DestFile: string): Boolean;
begin
 try
   Result := UrlDownloadToFile(nil, PChar(SourceFile), PChar(DestFile), 0,
     nil) = 0;
 except
   Result := False;
 end;
end;

procedure TForm1.SaveAllImages;
var
 k, p: Integer;
 Source, dest, ext: string;
begin
 for k := 0 to WebBrowser1.OleObject.Document.Images.Length - 1 do
 begin
   Source := WebBrowser1.OleObject.Document.Images.Item(k).Src;
   p := LastDelimiter(".", Source);
   ext := UpperCase(Copy(Source, p + 1, Length(Source)));
   if (ext = "GIF") or (ext = "JPG") then
   begin
     p  := LastDelimiter("/", Source);
     dest := "C:\" + Copy(Source, p + 1, Length(Source));
     DownloadFile(Source, dest);
   end;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
 HTMLDocument: IHTMLDocument2;
 PersistFile: IPersistFile;
begin
 SaveAllImages;
 HTMLDocument := WebBrowser1.Document as IHTMLDocument2;
 PersistFile  := HTMLDocument as IPersistFile;
 PersistFile.Save(StringToOleStr("c:\SavedFile.html"), System.True);
end;

end.


 
Dark Lord ©   (2006-01-13 20:48) [4]

Этот метод я уже пробовал - сохраняет рисунки в той же директории, что и хтмл и при открытии он рисунков не видит!



Страницы: 1 вся ветка

Текущий архив: 2006.04.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
15-1143822489
Volf_555
2006-03-31 20:28
2006.04.30
Проблема открытия локального сайта с подключенным интернетом


15-1144335573
Бугага
2006-04-06 18:59
2006.04.30
Странная ночь


2-1144989813
alk
2006-04-14 08:43
2006.04.30
работа с ini файлом


2-1145024356
Khim
2006-04-14 18:19
2006.04.30
Как зная хендл окна редактирования получить из него текст?


2-1144922008
Роман87
2006-04-13 13:53
2006.04.30
"swf" файлы