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

Вниз

Зкачка   Найти похожие ветки 

 
NLO ©   (2004-08-17 17:41) [0]

Здравствуйте уважаемые мастера................
У меня возникли такие вопросы:
1.Как можно получить адреса всех ссылок на странице
P.S.Как это делает опера.
2.Как можно сохранить страничку с картинками.
Заранее большое спасибо.


 
VMcL ©   (2004-08-17 18:04) [1]

>>NLO ©  (17.08.04 17:41)

1.
 1.a. Опера это делает с помощью собственного HTML-парсера, AFAIK.
 1.b. http://delphimaster.net/view/6-1091401082/

2. http://delphimaster.net/view/6-1091401082/

P.S. Ты это, с тэгами поосторожнее - в глазах аж зарябило...


 
Rouse_ ©   (2004-08-17 18:04) [2]

1. http://www.swissdelphicenter.ch/en/showcode.php?id=479
2. В качестве сырого примера:

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.


Пример не доработанный, чтобы было нормально, желательно синхронизировать ссылки на картинки и их размещение на диске...



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

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

Наверх




Память: 0.47 MB
Время: 0.025 c
3-1096204814
SH
2004-09-26 17:20
2004.10.24
Регистрация базы и пользователя


14-1096878302
marina
2004-10-04 12:25
2004.10.24
Создание компонентов


14-1096893983
}|{yk
2004-10-04 16:46
2004.10.24
Кстати, как впечатления от последнего боя Кличко?


3-1096365087
MakNik
2004-09-28 13:51
2004.10.24
текст SQL ошибки в приложении


14-1096547992
aleshap
2004-09-30 16:39
2004.10.24
Таблица - Grid