Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];

Вниз

Как сохранить интернет-страницу из 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.009 c
15-1144252234
Piter
2006-04-05 19:50
2006.04.30
Подскажите способ интерполяции и экстраполяции свойств газов


15-1144412728
Boris Marchenko
2006-04-07 16:25
2006.04.30
И что мы тут собсна делаем? =)


8-1133099582
Arazel
2005-11-27 16:53
2006.04.30
Конвертировать Mp3 в Wav (IMA ADPCM 16/4/7)?


15-1144418520
Aldor_
2006-04-07 18:02
2006.04.30
Для тех, кто еще не закончил университет...


15-1144629638
SergProger
2006-04-10 04:40
2006.04.30
Смешивание двух каналов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский