一種網頁解析、獲取方法及裝置與流程
2023-05-19 08:39:41 3
本申請涉及網頁處理
技術領域:
,更具體地說,涉及一種網頁解析、獲取方法及裝置。
背景技術:
:用戶在瀏覽網頁時,通常是通過域名的形式來打開遠程網頁。如瀏覽新浪門戶網站http://www.sina.com.cn,www.sina.com.cn就是新浪網的域名。用戶只需要在瀏覽器的地址欄輸入這個域名,就可以打開遠程伺服器上的網頁進行瀏覽了。瀏覽器與遠程伺服器之間的數據交互,使用的是IP網絡,必須使用IP位址才能進行。因此,瀏覽器需要先對用戶輸入的域名進行解析,解析成IP位址之後,才能夠訪問IP位址對應的遠程伺服器。在網頁上會有很多的超級連結,指向其他網頁或資源。如果這個超級連結指向一個域名形式的其他網頁或資源,那麼瀏覽器需要先把這個域名地址解析成伺服器的IP位址,才能進行數據載入。現有瀏覽器處理機制是,當用戶打開一個包含超級連結的網頁並觸發點擊該超級連結時,瀏覽器響應用戶操作,對該超級連結對應的域名進行解析,獲取IP位址。進而根據該IP位址下載數據。由於域名解析過程會消耗一定時間,因此會導致響應時間長,增加用戶等待時間的問題。技術實現要素:有鑑於此,本申請提供了一種網頁解析、獲取方法及裝置,以解決現有技術當用戶觸發網頁中的超級連結時,瀏覽器臨時進行域名解析所造成的響應時間長,增加用戶等待時間的問題。為了實現上述目的,現提出的方案如下:一種網頁解析方法,包括:在對獲取的待顯示網頁進行解析時,獲取所述待顯示網頁所包含的域名;對各所述域名進行預解析,獲取各所述域名對應的IP位址;將各所述域名對應的IP位址進行保存,以便在請求所述待顯示網頁中目標域名對應的資源時,查詢保存的與所述目標域名對應的IP位址,並基於查詢到的IP位址進行資源的下載。優選地,所述在對待顯示網頁進行解析時,獲取所述待顯示網頁所包含的域名,包括:在對待顯示網頁進行解析時,獲取所述待顯示網頁所包含的各超級連結地址;獲取各所述超級連結地址中的域名。優選地,在獲取待顯示網頁所包含的域名之後,該方法還包括:將獲取的域名添加至域名預解析隊列中;所述對各所述域名進行預解析,獲取各所述域名對應的IP位址,包括:調用後臺線程,對所述域名預解析隊列中的各所述域名進行預解析,獲取各所述域名對應的IP位址。優選地,還包括:在判斷保存的域名及對應的IP位址達到失效時限時,將達到失效時限的域名添加至所述域名預解析隊列中。一種網頁獲取方法,基於上述所述的網頁解析方法,該網頁加載方法包括:接收對網頁中目標超級連結的觸發指令;在所述目標超級連結中提取域名,並查詢已存儲的域名及IP位址對應關系列表,確定與提取的域名對應的IP位址;其中,所述域名及IP位址對應關系列表中記錄有,在所述網頁解析時得到的各域名,以及對各域名預解析所得到的對應的IP位址;根據確定的與提取的域名對應的IP位址,訪問該IP位址對應的伺服器,獲取網頁數據。一種網頁解析裝置,包括:域名獲取單元,用於在對獲取的待顯示網頁進行解析時,獲取所述待顯示網頁所包含的域名;域名預解析單元,用於對各所述域名進行預解析,獲取各所述域名對應的IP位址;對應關係保存單元,用於將各所述域名對應的IP位址進行保存,以便在請求所述待顯示網頁中目標域名對應的資源時,查詢保存的與所述目標域名對應的IP位址,並基於查詢到的IP位址進行資源的下載。優選地,所述域名獲取單元包括:超級連結地址獲取單元,用於在對待顯示網頁進行解析時,獲取所述待顯示網頁所包含的各超級連結地址;域名提取單元,用於獲取各所述超級連結地址中的域名。優選地,還包括:第一隊列添加單元,用於在獲取待顯示網頁所包含的域名之後,將獲取的域名添加至域名預解析隊列中;所述域名預解析單元包括:後臺預解析單元,用於調用後臺線程,對所述域名預解析隊列中的各所述域名進行預解析,獲取各所述域名對應的IP位址。優選地,還包括:第二隊列添加單元,用於在判斷保存的域名及對應的IP位址達到失效時限時,將達到失效時限的域名添加至所述域名預解析隊列中。一種網頁獲取裝置,基於上述所述的網頁解析裝置,該網頁獲取裝置包括:觸發指令接收單元,用於接收對網頁中目標超級連結的觸發指令;IP位址查詢單元,用於在所述目標超級連結中提取域名,並查詢已存儲的域名及IP位址對應關系列表,確定與提取的域名對應的IP位址;其中,所述域名及IP位址對應關系列表中記錄有,在所述網頁解析時得到的各域名,以及對各域名預解析所得到的對應的IP位址;IP位址訪問單元,用於根據確定的與提取的域名對應的IP位址,訪問該IP位址對應的伺服器,獲取網頁數據。從上述的技術方案可以看出,本申請實施例提供的網頁解析方法,在對獲取的待顯示網頁進行解析時,獲取所述待顯示網頁所包含的域名;對各所述域名進行預解析,獲取各所述域名對應的IP位址;將各所述域名對應的IP位址進行保存,以便在請求所述待顯示網頁中目標域名對應的資源時,查詢保存的與所述目標域名對應的IP位址,並基於查詢到的IP位址進行資源的下載。由此可知,本申請在對待顯示網頁進行解析過程,即獲取網頁所包含的各域名,進而在網頁解析過程並行對各域名進行解析,獲取域名對應的IP位址並保存,避免了當用戶請求網頁中某個域名對應的資源時,臨時對域名進行解析所帶來的時間消耗,降低了用戶等待時間。附圖說明為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。圖1為本申請實施例公開的一種網頁解析方法流程圖;圖2為本申請實施例公開的另一種網頁解析方法流程圖;圖3為本申請實施例公開的又一種網頁解析方法流程圖;圖4為本申請實施例公開的一種網頁獲取方法流程圖;圖5為本申請實施例公開的一種網頁解析裝置結構示意圖;圖6為本申請實施例公開的一種網頁獲取裝置結構示意圖。具體實施方式在介紹本申請方案之前首先對文中會提及的專業名詞進行解釋:1.1IP位址IP位址是指網際網路協議地址(英語:InternetProtocolAddress,又譯為網際協議地址),是IPAddress的縮寫。IP位址是IP協議提供的一種統一的地址格式,它為網際網路上的每一個網絡和每一臺主機分配一個邏輯地址,以此來屏蔽物理地址的差異。1.2域名域名(DomainName),是由一串用點分隔的名字組成的Internet上某一臺計算機或計算機組的名稱,用於在數據傳輸時標識計算機的電子方位(有時也指地理位置,地理上的域名,指代有行政自主權的一個地方區域)。一個域名的目的是便於記憶和溝通的一組伺服器的地址(網站,電子郵件,FTP等)。IP位址是Internet主機的作為路由尋址用的數字型標識,人不容易記憶。因而產生了域名(domainname)這一種字符型標識。1.3DNS(域名系統)DNS(DomainNameSystem,域名系統),網際網路上作為域名和IP位址相互映射的一個分布式資料庫,能夠使用戶更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機名對應的IP位址的過程叫做域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用埠號53。在RFC文檔中RFC2181對DNS有規範說明,RFC2136對DNS的動態更新進行說明,RFC2308對DNS查詢的反向緩存進行說明。1.4DNS伺服器DNS伺服器是指保存有該網絡中所有主機的域名和對應IP位址,並具有將域名轉換為IP位址功能的伺服器。其中域名必須對應一個IP位址,一個IP位址可以有多個域名,而IP位址不一定有域名。域名系統採用類似目錄樹的等級結構。域名伺服器通常為客戶機/伺服器模式中的伺服器方,它主要有兩種形式:主伺服器和轉發伺服器。將域名映射為IP位址的過程就稱為「域名解析」。1.5連結連結是指在電子電腦程式的各模塊之間傳遞參數和控制命令,並把它們組成一個可執行的整體的過程。連結也稱超級連結,是指從一個網頁指向一個目標的連接關係,所指向的目標可以是另一個網頁,也可以是相同網頁上的不同位置,還可以是圖片、電子郵件地址、文件、甚至是應用程式。下面將結合本申請實施例中的附圖,對本申請實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本申請保護的範圍。首先本申請通過一個具體實例來介紹現有技術方案。當用戶網頁中點擊一個超連結:http://www.ipanel.cn/index.htm,按時間先後順序,整個處理流程大致如下:1、瀏覽器解析地址,獲取域名www.ipanel.cn;2、瀏覽器連接DNS伺服器,發送域名查詢請求;3、DNS伺服器返回域名對應的IP位址給瀏覽器;4、瀏覽器通過IP位址,與WEB伺服器建立套接字socket連接;5、WEB瀏覽器發送HTTP請求,請求頭為GET/index.htmHTTP/1.1;6、WEB伺服器收到請求,從文件系統中讀取index.htm,將內容返回給瀏覽器;7、瀏覽器收到index.htm的頁面內容,開始解析、渲染、排版、繪圖,完成頁面顯示。8、瀏覽器關閉連接;9、伺服器關閉連接。由上述流程可以看出,在用戶點擊網頁中的超連結之後,瀏覽器才對該超連結地址進行域名解析,通過與DNS伺服器交互確定域名對應的IP位址,之後才能夠訪問IP位址對應的伺服器。顯然,域名解析過程將會佔用一定時間,使得響應時間增長,用戶等待時間加長,影響用戶體驗。為此,本申請提供了一種網頁解析方法,參見圖1,圖1為本申請實施例公開的一種網頁解析方法流程圖。如圖1所示,該方法包括:步驟S100、在對獲取的待顯示網頁進行解析時,獲取所述待顯示網頁所包含的域名;具體地,瀏覽器從伺服器下載網頁數據之後需要解析網頁的數據,來繪製並呈現給用戶。待顯示網頁中可能會存在多個超級連結,例如圖片連結、網頁連結等。在解析網頁的過程中,可以獲取待顯示網頁所包含的各個域名。步驟S110、對各所述域名進行預解析,獲取各所述域名對應的IP位址;具體地,在解析獲取域名之後,對各所述域名進行預解析,獲取各域名對應的IP位址。可以理解的是,對域名預解析的過程可以是與待顯示網頁解析過程同步執行,也即在解析待顯示網頁的同時對獲取的域名進行預解析,獲取對應的IP位址。可選的,域名預解析的方式可以是,將域名發送至DNS伺服器,由DNS伺服器查詢域名對應的IP位址,進而返回給瀏覽器。步驟S120、將各所述域名對應的IP位址進行保存,以便在請求所述待顯示網頁中目標域名對應的資源時,查詢保存的與所述目標域名對應的IP位址,並基於查詢到的IP位址進行資源的下載。具體地,在預解析獲取到域名對應的IP位址之後,將域名以及對應的IP位址進行保存。通過保存域名及對應的IP位址,後續用戶在請求待顯示網頁中目標域名對應的資源時,可以直接在保存的域名與IP位址對應關係中查詢,避免臨時對域名進行解析,從而提高了網頁打開速度。本申請實施例提供的網頁解析方法,在對獲取的待顯示網頁進行解析時,獲取所述待顯示網頁所包含的域名;對各所述域名進行預解析,獲取各所述域名對應的IP位址;將各所述域名對應的IP位址進行保存,以便在請求所述待顯示網頁中目標域名對應的資源時,查詢保存的與所述目標域名對應的IP位址,並基於查詢到的IP位址進行資源的下載。由此可知,本申請在對待顯示網頁進行解析過程,即獲取網頁所包含的各域名,進而在網頁解析過程並行對各域名進行解析,獲取域名對應的IP位址並保存,避免了當用戶請求網頁中某個域名對應的資源時,臨時對域名進行解析所帶來的時間消耗,降低了用戶等待時間。參見圖2,圖2為本申請實施例公開的另一種網頁解析方法流程圖。步驟S200、在對待顯示網頁進行解析時,獲取所述待顯示網頁所包含的各超級連結地址;具體地,待顯示網頁中包含的是超級連結地址,舉例如:http://www.ipanel.cn/index.htm。通過對待顯示網頁進行解析,將解析到的各個超級連結地址提取出來。步驟S210、獲取各所述超級連結地址中的域名;具體地,通過超級連結地址可以提取出其包含的域名,仍以上述超級連結地址為例:http://www.ipanel.cn/index.htm。其中包含的域名為:www.ipanel.cn。步驟S220、對各所述域名進行預解析,獲取各所述域名對應的IP位址;具體地,在解析獲取域名之後,對各所述域名進行預解析,獲取各域名對應的IP位址。可以理解的是,對域名預解析的過程可以是與待顯示網頁解析過程同步執行,也即在解析待顯示網頁的同時對獲取的域名進行預解析,獲取對應的IP位址。可選的,域名預解析的方式可以是,將域名發送至DNS伺服器,由DNS伺服器查詢域名對應的IP位址,進而返回給瀏覽器。步驟S230、將各所述域名對應的IP位址進行保存,以便在請求所述待顯示網頁中目標域名對應的資源時,查詢保存的與所述目標域名對應的IP位址,並基於查詢到的IP位址進行資源的下載。本實施例中介紹了獲取待顯示網頁所包含的域名的具體實現方式,也即解析網頁獲取超級連結地址,進一步從超級連結地址中提取域名。參見圖3,圖3為本申請實施例公開的又一種網頁解析方法流程圖。如圖3所示,該方法包括:步驟S300、在對待顯示網頁進行解析時,獲取所述待顯示網頁所包含的各超級連結地址;具體地,待顯示網頁中包含的是超級連結地址,舉例如:http://www.ipanel.cn/index.htm。通過對待顯示網頁進行解析,將解析到的各個超級連結地址提取出來。步驟S310、獲取各所述超級連結地址中的域名;具體地,通過超級連結地址可以提取出其包含的域名,仍以上述超級連結地址為例:http://www.ipanel.cn/index.htm。其中包含的域名為:www.ipanel.cn。步驟S320、將獲取的域名添加至域名預解析隊列中;具體地,本申請可以預先設置一個域名預解析隊列。對於待顯示網頁中解析出來的域名,添加至該域名預解析隊列中。步驟S330、調用後臺線程,對所述域名預解析隊列中的各所述域名進行預解析,獲取各所述域名對應的IP位址;具體地,本步驟中可以在後臺設置一個線程,該線程專門用於對域名預解析隊列中的域名進行解析。線程工作時間與瀏覽器解析網頁的時間可以是同步執行。步驟S340、將各所述域名對應的IP位址進行保存,以便在請求所述待顯示網頁中目標域名對應的資源時,查詢保存的與所述目標域名對應的IP位址,並基於查詢到的IP位址進行資源的下載。本實施例中,介紹了通過隊列形式存儲解析獲取的域名,並調用後臺線程對隊列中的域名進行解析,線程解析域名的過程與瀏覽器解析網頁的過程可以是並行的。可選的,在上述各實施例的基礎上,本申請還可以對保存的域名及對應的IP位址設置失效時限。在檢測判斷保存的域名及對應的IP位址達到失效時限時,將達到失效時限的域名添加至所述域名預解析隊列中。通過將達到失效時限的域名添加至所述域名預解析隊列中,由後臺線程對該域名重新進行解析,獲取對應的最新的IP位址,並建立該最新的IP位址與對應域名間的關係。其中,域名與IP對應關係可以按照如下方式進行存儲:域名(key)IP位址(value)www.example1.comxxx.xxx.xxx.xxxwww.example2.comxxx.xxx.xxx.xxx表1基於上述各實施例的網頁解析方法,本申請實施例進一步提供了一種網頁獲取方法,即在用戶對網頁中某個超級連結進行觸發後,瀏覽器獲取對應網頁的處理過程,參見圖4,圖4為本申請實施例公開的一種網頁獲取方法流程圖。如圖4所示,該方法包括:步驟S400、接收對網頁中目標超級連結的觸發指令;具體地,用戶瀏覽的網頁中經常會攜帶有超級連結,用戶可以對所要瀏覽的目標超級連結進行觸發,如點擊等,由瀏覽器接收用戶的觸發指令。步驟S410、在所述目標超級連結中提取域名,並查詢已存儲的域名及IP位址對應關系列表,確定與提取的域名對應的IP位址;其中,所述域名及IP位址對應關系列表中記錄有,在所述網頁解析時得到的各域名,以及對各域名預解析所得到的對應的IP位址。對於域名及IP位址對應關係的獲取方式可以參照上述各實施例的介紹,此處不再贅述。本步驟中,從目標超級連結中提取域名,並查詢存儲的對應關係,確定與提取的域名對應的IP位址。步驟S420、根據確定的與提取的域名對應的IP位址,訪問該IP位址對應的伺服器,獲取網頁數據。具體地,根據IP位址獲取網頁數據的過程可以參照現有技術。由於本申請已經預先對網頁中包括的超級連結的域名進行解析,得到了對應的IP位址。因此,在用戶觸發目標超級連結時,可以直接在本地查詢對應的IP位址,省去了對域名進行解析的環節,加快了頁面載入時間,降低了用戶等待時間。下面對本申請實施例提供的網頁解析裝置進行描述,下文描述的網頁解析裝置與上文描述的網頁解析方法可相互對應參照。其中,裝置項未公開的細節可以參照方法項實施例的介紹。參見圖5,圖5為本申請實施例公開的一種網頁解析裝置結構示意圖。如圖5所示,該裝置包括:域名獲取單元51,用於在對獲取的待顯示網頁進行解析時,獲取所述待顯示網頁所包含的域名;域名預解析單元52,用於對各所述域名進行預解析,獲取各所述域名對應的IP位址;對應關係保存單元53,用於將各所述域名對應的IP位址進行保存,以便在請求所述待顯示網頁中目標域名對應的資源時,查詢保存的與所述目標域名對應的IP位址,並基於查詢到的IP位址進行資源的下載。本申請實施例提供的網頁解析裝置,在對獲取的待顯示網頁進行解析時,獲取所述待顯示網頁所包含的域名;對各所述域名進行預解析,獲取各所述域名對應的IP位址;將各所述域名對應的IP位址進行保存,以便在請求所述待顯示網頁中目標域名對應的資源時,查詢保存的與所述目標域名對應的IP位址,並基於查詢到的IP位址進行資源的下載。由此可知,本申請在對待顯示網頁進行解析過程,即獲取網頁所包含的各域名,進而在網頁解析過程並行對各域名進行解析,獲取域名對應的IP位址並保存,避免了當用戶請求網頁中某個域名對應的資源時,臨時對域名進行解析所帶來的時間消耗,降低了用戶等待時間。可選的,所述域名獲取單元可以包括:超級連結地址獲取單元,用於在對待顯示網頁進行解析時,獲取所述待顯示網頁所包含的各超級連結地址;域名提取單元,用於獲取各所述超級連結地址中的域名。可選的,本申請的裝置還可以包括:第一隊列添加單元,用於在獲取待顯示網頁所包含的域名之後,將獲取的域名添加至域名預解析隊列中;所述域名預解析單元包括:後臺預解析單元,用於調用後臺線程,對所述域名預解析隊列中的各所述域名進行預解析,獲取各所述域名對應的IP位址。可選的,本申請的裝置還可以包括:第二隊列添加單元,用於在判斷保存的域名及對應的IP位址達到失效時限時,將達到失效時限的域名添加至所述域名預解析隊列中。進一步,對本申請實施例提供的網頁獲取裝置進行描述,下文描述的網頁獲取裝置與上文描述的網頁獲取方法可相互對應參照。本申請公開的網頁獲取裝置基於上述實施例的網頁解析裝置,參見圖6,圖6為本申請實施例公開的一種網頁獲取裝置結構示意圖。如圖6所示,該裝置包括:觸發指令接收單元61,用於接收對網頁中目標超級連結的觸發指令;IP位址查詢單元62,用於在所述目標超級連結中提取域名,並查詢已存儲的域名及IP位址對應關系列表,確定與提取的域名對應的IP位址;其中,所述域名及IP位址對應關系列表中記錄有,在所述網頁解析時得到的各域名,以及對各域名預解析所得到的對應的IP位址;IP位址訪問單元63,用於根據確定的與提取的域名對應的IP位址,訪問該IP位址對應的伺服器,獲取網頁數據。由於本申請已經預先對網頁中包括的超級連結的域名進行解析,得到了對應的IP位址。因此,在用戶觸發目標超級連結時,可以直接在本地查詢對應的IP位址,省去了對域名進行解析的環節,加快了頁面載入時間,降低了用戶等待時間。最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。本說明書中各個實施例採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對所公開的實施例的上述說明,使本領域專業技術人員能夠實現或使用本申請。對這些實施例的多種修改對本領域的專業技術人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請的精神或範圍的情況下,在其它實施例中實現。因此,本申請將不會被限制於本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的範圍。當前第1頁1 2 3