Главная страница
    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.011 c
2-1144738583
STK
2006-04-11 10:56
2006.04.30
"Стирание" введённых данных с эдитов модального окна


2-1145111374
Exciter
2006-04-15 18:29
2006.04.30
Добавить Lookup поле программно


4-1139220699
Stas_Kalishenko
2006-02-06 13:11
2006.04.30
Toolbar-меню в чужом приложении


15-1144732818
Alkid
2006-04-11 09:20
2006.04.30
С Днём рождения! 11 апреля.


2-1145016343
Ezorcist
2006-04-14 16:05
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский