亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

具有自動查找Web頁面上所有鏈接的網絡瀏覽器

2019-11-18 18:39:31
字體:
來源:轉載
供稿:網友
 

具有自動查找Web頁面上所有鏈接的網絡瀏覽器

1. 概述
WEB的應用已經深入到現在社會的方方面面,作為一個軟件開發人員或其他技術人員,都有可能遇見在Internet上查詢大量的資料和信息的情況,一般來說用的最多的就是WEB的搜索Engine。當我們使用它查出大量的資料鏈接后,還有可能遇到更多的鏈接,但要自己去看他們是否是鏈接,那確實是一件很麻煩的事情。這篇文章就是來講,如何用Delphi的MSHTML_TLB.pas來開發一個具有自動查找Web頁面上所有鏈接的簡單網絡瀏覽器。我是在IE5的環境下寫的這個程序,當然它可以向下兼容,如IE4。
2.關于MSHTML_TLB.pas
MSHTML_TLB.pas是Deliphi里面自帶的一個類。它的含義是Microsoft HTML對象庫。它不能夠包含在所有的工程或程序中,原因是它實在是太大了,整個文件的代碼共有241,899l行,那么長。大小約有12M。下面我們來看看它是如何加入到程序中的。
1. 首先,我們打開Delphi,建立一個新的application。我把form1保存為MainFrm.pas,把application保存為FindLinks.dPR.
2. 要想實現IE 的功能我們就必須要使用Microsoft HTML對象庫(MSHTML type library.)如何實現呢?如圖1, Project->Import Type Library:

然后你會看到關于"Microsoft HTML Object Library (Version 4.0)"的列表,如圖2。
接下來可能會遇到一些問題。比如,在列表里面沒有出現"Microsoft HTML Object Library (Version 4.0)"。這是為什么呢?那是IE的問題,由于IE版本的不同(我用的是IE5)。我建議最好是先查詢你的計算機里面有沒有mshtml.tlb這個文件。
在9x里面它是存在與C:/WINDOWS/SYSTEM目錄里面,在2000里面它在/WINNT/system32目錄里面。如果找到了這個文件,就可以用圖2的click on the "Add..." button,然后選擇mshtml.tlb,就可以了,如果沒有找到它,那說明你沒有安裝IE或你的IE版本太低,請升級IE。
最后,當我們選擇了倒入的庫后,會等待一段時間,因為它實在是太長了,不過請千萬不要因為是死機了。它會給自動查找提供很多幫助。
3. 工程實現。
界面設計如下圖:


使用以下組件
控件 命名 TEXT
TLabel lblURL 資料網址
TEdit edtURL http://www.huihu.com
TButton btnFindLinks 查詢連接
TListBox lstbxLinks null

4. 程序設計
1. 在Form1的interface部分,在uses后面加入,OleCtrls, SHDocVw, and OleServer.這些所應用的類,都是基于我們所要創建的TinternetExplorer的,它是IE的ActiveX的對象。但是這里還有其它的方式(TinternetExplorer)進行,我們采用TwebBrowser 控制在我們的form1。
2. 我們在private里面加入如下代碼:
FInternetExplorer: TInternetExplorer;
procedure WebBrowserDocumentComplete(Sender: TObject; var pDisp: OleVariant;
var URL: OleVariant);     
最后用Ctrl-Shift-C完成類的聲明。
3. 在impelmentation后面加入如下聲明:
uses MSHTML_TLB, ComObj;
要使用的類。
4. 在form1的OnCreate事件中加入如下:
     FInternetExplorer := TInternetExplorer.Create(Self);
  FInternetExplorer.OnDocumentComplete := WebBrowserDocumentComplete;
5. 最后在form1的TForm1.WebBrowserDocumentComplete里面加入如下代碼:
1. procedure TForm1.WebBrowserDocumentComplete(Sender: TObject;
2.     var pDisp: OleVariant; var URL: OleVariant);
3. var
4.   Doc: IHTMLDocument2;
5.   ElementCollection: IHTMLElementCollection;
6.   HtmlElement: IHTMLElement;
7.   I: Integer;
8.   AnchorString: string;
9. begin
10.   lstbxLinks.Clear;
11.   // 在處理網頁的時候發現它沒有完全下載,將不會進行處理連接
12.    Doc := FInternetExplorer.Document as IHTMLDocument2;
13.   if Doc = nil then
14.     raise Exception.Create('Couldn''t convert the ' +
15.       'FInternetExplorer.Document to an IHTMLDocument2');
16.   // 奪取web上的所有元素。
17.   ElementCollection := Doc.all;
18.   for I := 0 to ElementCollection.length - 1 do
19.   begin
20.     file://得到當前的元素
21.     HtmlElement := ElementCollection.item(I, '') as IHTMLElement;
22.     // 查找網頁原代碼中的LINK標記。
23.     // 發現其它的html標記 (例如: TABLE, FONT, etc.)
24.     if HTMLElement.tagName = 'A' then
25.     begin
26.       // 在詳細的link里面抓取innerText,innertext就是標記中<href=后面的東西>例如:

27.       // 我們在web里面看見"西南民族學院"
28.       // <a ><b>西南民族學院</b></a>.
29.           AnchorString := HtmlElement.innerText;
30.       if AnchorString = '' then
31.         AnchorString := '(Empty Name)';
32.       AnchorString := AnchorString + ' -  ' +
33.         (HtmlElement as IHTMLAnchorElement).href;
34.       lstbxLinks.Items.Add(AnchorString);
35.     end;
36.   end;
37. end;

   最后我們在button(btnFindLinks)加入Onclick 事件:
1. // 在被瀏覽的web里面進行查詢連接。
2.   FInternetExplorer.Navigate(edtURL.Text, EmptyParam, EmptyParam,
    EmptyParam, EmptyParam);
從以上的程序里面我們可以看出它的原理了,實際上是很簡單的,看過html原代碼的人都知道,使網頁產生連接的代碼就是:<a 號后面截止。
然后把它保存為另外的字符串。然后通過TwebBrowser顯示出來。
最后讓我們來編譯這個程序,的卻,編譯它很費時間,因為編譯多達241,899l行的MSHTML_TLB.pas,是一件很麻煩的事情。其中還包括多達20多個的warning錯誤,但請放心這是MSHTML_TLB.pas的問題,與其它程序無關。這樣一個小型的查找Web頁面上所有鏈接的簡單網絡瀏覽器就出現在我們面前。本程序在IE5.0和Delphi6下編譯通過。


上一篇:如何利用ADO操縱Excel文件

下一篇:向word文檔中輸出表格及圖形

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产午夜精品全部视频播放| 最近中文字幕mv在线一区二区三区四区| 欧美激情奇米色| 亚洲精品98久久久久久中文字幕| 伊人一区二区三区久久精品| 97视频国产在线| 国内精品久久久久久| 久久精品最新地址| 日韩中文字幕久久| 国产一区二区三区在线观看视频| 狠狠色噜噜狠狠狠狠97| 国产小视频国产精品| 亚洲精品久久久久国产| 夜夜躁日日躁狠狠久久88av| 555www成人网| 亚洲第一偷拍网| 久久久久久午夜| 国产精品久久不能| 日韩电影在线观看永久视频免费网站| 91免费综合在线| 欧美精品videos另类日本| 91chinesevideo永久地址| 91精品在线观| 中文字幕日韩精品有码视频| 福利一区福利二区微拍刺激| 欧美日韩国产一区中文午夜| 日韩电影网在线| 国产视频久久久| 国产成人自拍视频在线观看| 久久伊人精品视频| 欧美国产日韩一区二区在线观看| 超碰精品一区二区三区乱码| 日韩一区二区欧美| 久久人人爽人人爽人人片av高请| 97不卡在线视频| 久久综合久久88| 亚洲国产成人精品女人久久久| 91精品国产91久久久久| 国产精品电影久久久久电影网| 日韩欧美在线中文字幕| 国产成人精品视频在线| 国产日韩欧美视频在线| 九色91av视频| 91精品久久久久久久久久另类| 久久天天躁狠狠躁夜夜躁| 在线激情影院一区| 久久久亚洲影院| 亚洲在线一区二区| 国产精品高精视频免费| 2019日本中文字幕| 色婷婷av一区二区三区在线观看| 欧美与黑人午夜性猛交久久久| 欧美极品少妇xxxxⅹ免费视频| 久久久精品久久久| 在线视频日韩精品| 亚洲人成免费电影| 亚洲一区二区三区久久| 国产精品一区二区三区毛片淫片| 欧美激情性做爰免费视频| 欧美成人免费小视频| 国产国语videosex另类| 97在线视频免费看| 91国语精品自产拍在线观看性色| 久久综合国产精品台湾中文娱乐网| 国产精品福利在线| 久久久免费观看视频| 精品人伦一区二区三区蜜桃网站| 最近2019中文字幕第三页视频| 欧美有码在线观看视频| 亚洲国产私拍精品国模在线观看| 欧美夫妻性生活视频| 欧美一区二区三区免费观看| 国产精品久久久久久中文字| 欧美成人精品三级在线观看| 久久久久久久国产精品| 日韩国产高清污视频在线观看| 亚洲综合色激情五月| 日韩禁在线播放| 国产一区二区日韩精品欧美精品| 日韩欧美国产高清91| 久久久精品中文字幕| 久久久久久久久久国产| 日韩精品免费一线在线观看| 欧美性色19p| 亚洲男人的天堂网站| 日韩a**中文字幕| 亚洲精品福利在线| 亚洲偷欧美偷国内偷| 日韩av在线资源| 国产91免费观看| 日本中文字幕不卡免费| 国产精品久久久久久久天堂| 欧美视频国产精品| 亚洲va久久久噜噜噜久久天堂| 日产精品久久久一区二区福利| 日韩欧美在线视频免费观看| 亚洲福利视频免费观看| 久久亚洲成人精品| 91亚洲精品久久久久久久久久久久| 精品国产乱码久久久久久虫虫漫画| 国产日韩欧美电影在线观看| 欧美日韩亚洲视频| 日韩精品丝袜在线| 亚洲第一页在线| 国产精品吹潮在线观看| 欧美视频在线视频| 亚洲春色另类小说| 色综合久久精品亚洲国产| 久久久人成影片一区二区三区| 久久青草福利网站| 亚洲自拍偷拍福利| 欧美日韩国产中文字幕| 亚洲一级黄色片| 久久久久久噜噜噜久久久精品| 亚洲自拍另类欧美丝袜| 欧美福利在线观看| 亚洲xxxx18| 久久久精品视频在线观看| 成人免费直播live| 91国内产香蕉| 性欧美xxxx交| 国产精品日韩欧美综合| 日韩欧美有码在线| 日韩高清电影好看的电视剧电影| 少妇av一区二区三区| 久久综合伊人77777尤物| 最新69国产成人精品视频免费| 91亚洲午夜在线| 综合激情国产一区| 中文字幕九色91在线| 91嫩草在线视频| 国产91久久婷婷一区二区| 国产精品久久久精品| 国产成人激情视频| 精品欧美aⅴ在线网站| 久久91精品国产91久久跳| 青草热久免费精品视频| 社区色欧美激情 | 久久久电影免费观看完整版| 国产日韩欧美在线观看| 1769国产精品| 茄子视频成人在线| 亚洲人永久免费| 91精品国产自产在线老师啪| 日韩成人在线观看| 18性欧美xxxⅹ性满足| 久久视频中文字幕| 亚洲一区二区三区成人在线视频精品| 丁香五六月婷婷久久激情| 亚洲精品黄网在线观看| 懂色av一区二区三区| 久久成人在线视频| 在线播放国产一区二区三区| 清纯唯美日韩制服另类| 国产精品久久久久久久久久东京| 伊人久久免费视频| 亚洲在线一区二区| 亚洲性av在线| 青青久久av北条麻妃黑人| 欧美成人四级hd版| 日本a级片电影一区二区| 亚洲女性裸体视频| 久久久久久久久久久国产| 亚洲精品www|