怎樣讀取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