Главная страница
    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
2-1144918680
Dzhin
2006-04-13 12:58
2006.04.30
Выкачивание файлов с интернета.


3-1141629277
DancerMan
2006-03-06 10:14
2006.04.30
Как в процессе выполнения программы узнать кодировку dbf файла?


15-1144395851
tria
2006-04-07 11:44
2006.04.30
Можно ли узнать, что данный exe сгенерирован Delphi?


15-1144330086
NightLord
2006-04-06 17:28
2006.04.30
Неожиданный поворот событий


2-1145046482
Golik
2006-04-15 00:28
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский