各位大侠,谁能帮我完成网页的自动保存。(200分)

  • 主题发起人 主题发起人 zs174
  • 开始时间 开始时间
Z

zs174

Unregistered / Unconfirmed
GUEST, unregistred user!
我需要打开一个网页就保存到预先设定的路径,最好有源代码。
请发给我:zs174@163.com谢谢.
 
可以调用IE的“另存为”菜单命令
 
老问题了,搜一下论坛
 
我找过了,不过还是不能解决,最好能给我发个源代码。
 
我写的一个工具(有源码),里面有个ie控制功能和一个获取网页源代码功能你可以参考一下
做个计时器就可以了
http://61.132.118.185:8080/dispdocnew.php?id=4191
 
我刚刚学deliphi,有些看不懂,你能不能帮我写完整一点发到我的邮箱里.
 
自己重新写一下TWebBrowser的navigate方法嘛。不难的。
 
大家能不能多给我些这方面的意见呀,我现在很急着要.谢谢
 
to diliphifish:
你能帮我写一下吗,我不太懂啊.谢谢
 
代码:
procedure TForm1.Button1Click(Sender: TObject);
begin
   WebBrowser1.Navigate('http://www.263.net');
end;

procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
var oleComObject:IOleCommandTarget;
    vIn,Vout:oleVariant;
begin
  WebBrowser1.Document.QueryInterface(IOleCOmmandTarget,oleComObject);
  try
  oleComObject.Exec(nil,OLECMDID_SAVEAS,OLECMDEXECOPT_DODEFAULT,vIn,vOut);
  finally
    oleComobject._Release;
  end;
end;
 
可是不能编译呀,还有没有其他的办法呀.
 
I 服了you 啦。

代码:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls,ActiveX;
type
  TForm1 = class(TForm)
    Button1: TButton;
    WebBrowser1:TWebBrowser;
    procedure WebBrowser1DownloadComplete(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.WebBrowser1DownloadComplete(Sender: TObject);
var oleComObject:IOleCommandTarget;
    vIn,Vout:oleVariant;
begin
  WebBrowser1.Document.QueryInterface(IOleCOmmandTarget,oleComObject);
  try
  oleComObject.Exec(nil,OLECMDID_SAVEAS,OLECMDEXECOPT_DODEFAULT,vIn,vOut);
  finally
    oleComobject._Release;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   WebBrowser1.Navigate('http://www.263.net');
end;

end.
 
大侠在问个简单的,网页保存到了那里呀?
代码:
如果我想把网页保存到数据库里,那要怎么写呢.望大侠多多指教.
 
你是要保存整个网页,还是该网页的html?
 
如果只是想存html的话:
代码:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls,ActiveX;
type
  TForm1 = class(TForm)
    Button1: TButton;
    WebBrowser1:TWebBrowser;
    procedure Button1Click(Sender: TObject);
    procedure WebBrowser1DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   WebBrowser1.Navigate('http://www.263.net');
end;

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
    PersistFile:IPersistFile;
begin
  PersistFile:=WebBrowser1.Document as IPersistFile;
  PersistFile.Save(StringToOleStr('c:/k.htm'), system.True);
end;

end.
 
多谢大哥指教,以后可能还要麻烦你了,还望你能多多帮忙.
想在请教一个小问题,那个文件名怎样才能保存为网页的URL呢,希望你在帮我一下.
 
如果是URL的话,我想你在navigate的时候就已经知道了啊。如果是网页的title的话,如下:
代码:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, OleCtrls, SHDocVw, StdCtrls,ActiveX, mshtml;
type
  TForm1 = class(TForm)
    Button1: TButton;
    WebBrowser1:TWebBrowser;
    procedure Button1Click(Sender: TObject);
    procedure WebBrowser1DocumentComplete(Sender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   WebBrowser1.Navigate('http://www.263.net');
end;

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
var
    PersistFile:IPersistFile;
    Doc:IHTMLDocument2;
begin
  PersistFile:=WebBrowser1.Document as IPersistFile;
  Doc:=WebBrowser1.Document as IHTMLDocument2;
  PersistFile.Save(StringToOleStr('c:/'+Doc.title+'.html'), system.True);//如果你硬要是保存url,就写成:
//PersistFile.Save(StringToOleStr('c:/'+Doc.url), system.True);不过URL里面会有些不能用在文件名中的字符,你要么是替换,要么
//自己在写程序处理。比如"/",你就建一个子目录等等。
end;
 
谢谢啦,但是如果要保存到数据库里,要保存时间,url,还有网页的话要怎么写呢.
 
后退
顶部