怎样读取Internet网页的源文件?
2 楼inprises(何许)回复于 2001-06-13 13:15:00 得分 29
方法1、
使用控件TWebBrowser控件浏览网页你应该知道怎么做了吧!我就不多说这个了。
在你的这个使用了控件TWebBrowser的工程中,选择菜单‘Project’,选择‘Import Type Library...’,然后选择‘MicroSoft HTML Object Library(Version x.x)’,再install...(安装过程会有点长)
之后会生成一个MSHTML_TLB.pas,这就作好了完全准备工作。接下来就简单了:
在你的单元的uses部分加上 MSHTML_TLB,在程序的适当位置添加如下代码:
var
xxxx:IHtmlDocument2;
begin
xxxx := WebBrowser1.Document as IHtmlDocument2;//WebBrowser1为你所用的TWebBrowser控件
//如果采用Memo1来显示源代码,则:
Memo1.Lines.Add(xxxx.Body.outHtml);
end;
方法2、
简单一点,直接用控件THtml就可以了,不要告诉我控件的FastNet页没有这个控件,即使没有,那肯定是你没有装。
--------------------------------------
帮帮忙!能否通过delphi的webbrowser控件读取网页的源文件信息。60送上!
问题点数:110、回复次数:10Top
1 楼kkk2000(肥牛)回复于 2000-10-25 10:15:00 得分 0
得到网页的源文件“信息”,你是指网页的内容吧。如果非用webbrowser控件,你就等下载完毕后用它的ExeWB方法将页面保存起来。如果只是要得到Html文档的内容,用FastNet中的控件比较好。Top
2 楼kkk2000(肥牛)回复于 2000-10-25 10:58:00 得分 0
不知你做什么用。
如果只想看源文件,那你就等webbrowser下载一个页面后,在它上面点鼠标右键,查看源文件即可。
或者可用用webbrowser1.ExeWB(OLECMDID_SAVECOPYAS,OLECMDEXECOPT_DODEFAULT)将网页内容存在一个指定的地方。
要不你就别用webbrowser控件了,在FastNet中,有很多控件可以使用。
如:NMHttp,PowerSock控件。
一个简单的例子。
procedure TForm1.Button1Click(Sender: TObject);
begin
try
nmhttp1.Get('www.sina.com.cn');//
finally
memo1.Text:=nmhttp1.Body;//memo1中将显视出sina首页的源文件。
end;
end;
Top
3 楼kkk2000(肥牛)回复于 2000-10-25 11:11:00 得分 0
不知你做什么用。
如果只想看源文件,那你就等webbrowser下载一个页面后,在它上面点鼠标右键,查看源文件即可。
或者可用用webbrowser1.ExeWB(OLECMDID_SAVECOPYAS,OLECMDEXECOPT_DODEFAULT)将网页内容存在一个指定的地方。
要不你就别用webbrowser控件了,在FastNet中,有很多控件可以使用。
如:NMHttp,PowerSock控件。
一个简单的例子。
procedure TForm1.Button1Click(Sender: TObject);
begin
try
nmhttp1.Get('www.sina.com.cn');//
finally
memo1.Text:=nmhttp1.Body;//memo1中将显视出sina首页的源文件。
end;
end;
Top
4 楼huzi(胡子)回复于 2000-10-25 14:30:00 得分 0
哈哈,我也为这个问题困扰了很长时间。
后来,朋友介绍了一个控件,一切OK。
该控件是 ICS, 你到网上去找,很多地方都有。
Top
5 楼kkk2000(肥牛)回复于 2000-10-25 14:47:00 得分 0
方法1:直接在它上面点右键,选查看源文件。
2:用Webbrowser1.ExeWB(OLECMDID_SAVEAS,0);把页面内容存到指定的位置。
3:不用Webborser,用Fastnet中的控件。
如:nmhttp,powersock....
try
nmhttp1.get('www.263.net');
finally
memo1.text:=nmhttp1.body;
end;
Top
6 楼kkk2000(肥牛)回复于 2000-10-25 14:53:00 得分 100
方法1:直接在它上面点右键,选查看源文件。
2:用Webbrowser1.ExeWB(OLECMDID_SAVEAS,0);把页面内容存到指定的位置。
3:不用Webborser,用Fastnet中的控件。
如:nmhttp,powersock....
try
nmhttp1.get('www.263.net');
finally
memo1.text:=nmhttp1.body;
end;
Top
7 楼alin()回复于 2000-10-30 18:37:00 得分 10
html
webbrowser.OleObject.document.documentelement.innerhtml;
Text
webbrowser.OleObject.document.documentelement.innerText;Top
8 楼xiao_wen()回复于 2001-07-12 11:35:08 得分 0
其实用webbrowser自己的属性就够了
var
doc : Variant;
begin
doc := Webborwser1.document;
Memo.Text := Doc.body.innerhtml(html 源码);(innerhtml 取页面所有的文字信息)
end;Top