一種頁面的下載方法及客戶端與流程
2023-05-03 00:57:36 3

本發明涉及網頁下載技術,尤其涉及一種頁面的下載方法及客戶端。
背景技術:
為了增強訪問網絡頁面的速度,一般使用多線程並發的方式訪問網絡頁面。通過線程訪問頁面時會生成會話標識(session id),以及下載頁面所需的cookie文件。這種頁面訪問方式對每個線程訪問的頁面順序要求比較嚴格,在前一頁面沒有下載成功之前,線程不能繼續後續的下載,否則可能會因cookie問題導致返回的頁面不符合預期,也不易進行分布式部署。
此外,由於會話是在線程訪問頁面時生成,對一些入口頁面要求較高(比如有驗證碼、或使用邏輯複雜的渲染方式生成cookie的頁面)的訪問,用現有的頁面訪問方式很難實現。
技術實現要素:
為解決上述技術問題,本發明實施例提供了一種頁面的下載方法及客戶端。
本發明實施例提供的頁面的下載方法,包括:
獲取頁面的連結數據;
基於所述連結數據,在資料庫中查詢是否存在與所述連結數據相對應的cookie信息;
當查詢到存在與所述連結數據相對應的cookie信息時,
識別所述cookie信息,若所述cookie信息為cookie文件,則利用所述cookie文件下載所述頁面,若所述cookie信息為cookie的配置文件時,利用所述配置文件獲取cookie文件,並利用獲取的cookie文件下載所述頁面。
本發明實施例中,所述當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,利用所述配置文件下載cookie文件,包括:
判斷所述資料庫中是否存在與所述配置文件相對應的cookie文件;
若不存在,利用所述配置文件下載cookie文件;
若存在,從所述資料庫中獲取與所述配置文件相對應的cookie文件。
本發明實施例中,所述方法還包括:
當利用所述配置文件下載cookie文件之後,所述方法還包括:
將下載的cookie文件存入所述資料庫中,並在所述資料庫中建立下載的cookie文件與所述cookie的配置文件之間的對應關係。
本發明實施例中,所述方法還包括:
當查詢到不存在與所述連結數據相對應的cookie信息時,直接基於所述連結數據下載所述頁面。
本發明實施例提供的客戶端,包括:
獲取單元,用於獲取頁面的連結數據;
查詢單元,用於基於所述連結數據,在資料庫中查詢是否存在與所述連結數據相對應的cookie信息;
第一處理單元,用於當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie文件時,利用所述cookie文件下載所述頁面;
第二處理單元,用於當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,利用所述配置文件下載cookie文件,並利用所述cookie文件下載所述頁面。
本發明實施例中,所述第二處理單元包括:
判斷子單元,用於當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,判斷所述資料庫中是否存在與所述配置文件相對應的cookie文件;
下載子單元,用於當所述資料庫中不存在與所述配置文件相對應的cookie文件時,利用所述配置文件下載cookie文件。
本發明實施例中,所述下載子單元,還用於當所述資料庫中存在與所述配置文件相對應的cookie文件時,直接利用所述cookie文件下載所述頁面。
本發明實施例中,所述客戶端還包括:
存儲單元,用於利用所述配置文件下載cookie文件之後,將下載的cookie文件存入所述資料庫中,並建立所述cookie的配置文件與所述cookie文件之間的映射關係。
本發明實施例中,所述裝置還包括:
第三處理單元,用於當查詢到不存在與所述連結數據相對應的cookie信息時,直接下載所述頁面。
本發明實施例的技術方案中,獲取頁面的連結數據;基於所述連結數據,在資料庫中查詢是否存在與所述連結數據相對應的cookie信息;當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie文件時,利用所述cookie文件下載所述頁面;當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,利用所述配置文件下載cookie文件,並利用所述cookie文件下載所述頁面。採用本發明實施例的技術方案,將cookie文件與連結數據存儲於資料庫中,這裡,可以使用如渲染加載、人工幹預等方式,將不容易獲取的cookie文件事先獲取下來存在資料庫中供下載頁面使用。對於每一個要下載的頁面,都有對應的cookie文件的獲取途徑,不需要嚴格依賴頁面順序進行下載,便於分布式部署客戶端,同時也解決了複雜入口頁面的會話生成問題。
附圖說明
圖1為本發明實施例的頁面的下載方法的流程示意圖一;
圖2為本發明實施例的頁面的下載方法的流程示意圖二;
圖3為本發明實施例的客戶端的結構組成示意圖一;
圖4為本發明實施例的客戶端的結構組成示意圖二;
圖5為本發明實施例的客戶端的結構組成示意圖三。
具體實施方式
為了能夠更加詳盡地了解本發明實施例的特點與技術內容,下面結合附圖對本發明實施例的實現進行詳細闡述,所附附圖僅供參考說明之用,並非用來限定本發明實施例。
圖1為本發明實施例的頁面的下載方法的流程示意圖一,本示例中的頁面的下載方法應用於客戶端側,如圖1所示,所述頁面的下載方法包括以下步驟:
步驟101:獲取頁面的連結數據。
本發明實施例中,客戶端尤指網頁客戶端,用戶可以在網頁客戶端上輸入想要進入的網頁的網址,這裡,網址可以理解為本發明實施例的連結數據,例如統一資源定位符(URL,Uniform Resoure Locator)。
本發明實施例中,當訪問某個網頁時,需要首先獲取頁面的連結數據,然後,執行如下步驟。
步驟102:基於所述連結數據,在資料庫中查詢是否存在與所述連結數據相對應的cookie信息。
本發明實施例中,資料庫可以但不限於存儲在內存系統或磁碟空間中。在數據中存儲的內容包括:頁面地址列表,這裡,頁面地址列表包括多條頁面地址數據,每一條頁面地址數據可以包括如下內容的一條或多條:頁面的連結數據、頁面的cookie文件、cookie的配置文件。
在第一種情況下,頁面地址數據包括:頁面的連結數據;
在第二種情況下,頁面地址數據包括:頁面的連結數據、頁面的cookie文件;
在第三種情況下,頁面地址數據包括:頁面的連結數據、cookie的配置文件。
在第四種情況下,頁面地址數據包括:頁面的連結數據、頁面的cookie文件、cookie的配置文件。
基於以上幾種情況,基於頁面的連結數據,在資料庫中查詢是否存在與所述連結數據相對應的cookie信息。
如上述第一種情況下,在資料庫中查詢不存在與所述連結數據相對應的cookie信息。
如上述第二種情況下,在資料庫中查詢存在與所述連結數據相對應的cookie信息,且所述cookie信息為頁面的cookie文件。
如上述第三種情況下,在資料庫中查詢存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件。這種情況,可以根據cookie的配置文件下載到頁面的cookie文件。
如上述第四種情況下,在資料庫中查詢存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie文件以及cookie的配置文件。
步驟103:當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie文件時,利用所述cookie文件下載所述頁面。
本發明實施例中,當客戶端向站點請求下載頁面時,需要在請求消息中攜帶cookie文件,這樣,站點才可以根據cookie文件返回正常的頁面給客戶端。當然,某些特殊的頁面也可以不需要cookie文件就可以進行下載。
本發明實施例中,當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie文件時,利用所述cookie文件下載所述頁面。這裡,由於cookie文件預先存儲在資料庫中,因此可以不考慮頁面順序直接獲取到cookie文件,進而進行頁面的下載。
步驟104:當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,利用所述配置文件下載cookie文件,並利用所述cookie文件下載所述頁面。
本發明實施例中,當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,利用所述配置文件下載cookie文件,並利用所述cookie文件下載所述頁面。這裡,cookie的配置文件至少包括了cookie的下載地址,如URL,可以根據cookie的配置文件來下載到cookie文件,然後,再利用所述cookie文件下載所述頁面。
採用本發明實施例的技術方案,能夠降低線程對頁面訪問順序的依賴,使網頁下載系統便於分布式部署,解決了複雜入口頁面的會話生成問題。
圖2為本發明實施例的頁面的下載方法的流程示意圖二,本示例中的頁面的下載方法應用於客戶端側,如圖2所示,所述頁面的下載方法包括以下步驟:
步驟201:獲取頁面的連結數據。
本發明實施例中,客戶端尤指網頁客戶端,用戶可以在網頁客戶端上輸入想要進入的網頁的網址,這裡,網址可以理解為本發明實施例的連結數據,例如URL。
本發明實施例中,當訪問某個網頁時,需要首先獲取頁面的連結數據,然後,執行如下步驟。
步驟202:基於所述連結數據,在資料庫中查詢是否存在與所述連結數據相對應的cookie信息。
本發明實施例中,資料庫可以但不限於存儲在內存系統或磁碟空間中。在數據中存儲的內容包括:頁面地址列表,這裡,頁面地址列表包括多條頁面地址數據,每一條頁面地址數據可以包括如下內容的一條或多條:頁面的連結數據、頁面的cookie文件、cookie的配置文件。
在第一種情況下,頁面地址數據包括:頁面的連結數據;
在第二種情況下,頁面地址數據包括:頁面的連結數據、頁面的cookie文件;
在第三種情況下,頁面地址數據包括:頁面的連結數據、cookie的配置文件。
在第四種情況下,頁面地址數據包括:頁面的連結數據、頁面的cookie文件、cookie的配置文件。
基於以上幾種情況,基於頁面的連結數據,在資料庫中查詢是否存在與所述連結數據相對應的cookie信息。
如上述第一種情況下,在資料庫中查詢不存在與所述連結數據相對應的cookie信息。
如上述第二種情況下,在資料庫中查詢存在與所述連結數據相對應的cookie信息,且所述cookie信息為頁面的cookie文件。
如上述第三種情況下,在資料庫中查詢存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件。這種情況,可以根據cookie的配置文件下載到頁面的cookie文件。
如上述第四種情況下,在資料庫中查詢存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie文件以及cookie的配置文件。
步驟203:當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie文件時,利用所述cookie文件下載所述頁面。
本發明實施例中,當客戶端向站點請求下載頁面時,需要在請求消息中攜帶cookie文件,這樣,站點才可以根據cookie文件返回正常的頁面給客戶端。當然,某些特殊的頁面也可以不需要cookie文件就可以進行下載。
本發明實施例中,當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie文件時,利用所述cookie文件下載所述頁面。這裡,由於cookie文件預先存儲在資料庫中,因此可以不考慮頁面順序直接獲取到cookie文件,進而進行頁面的下載。
步驟204:當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,判斷所述資料庫中是否存在與所述配置文件相對應的cookie文件;否時,執行步驟205,是時,執行步驟206。
步驟205:當所述資料庫中不存在與所述配置文件相對應的cookie文件時,利用所述配置文件下載cookie文件,並利用所述cookie文件下載所述頁面,流程結束。
本發明實施例中,利用所述配置文件下載cookie文件之後,將下載的cookie文件存入所述資料庫中,並建立所述cookie的配置文件與所述cookie文件之間的映射關係。這樣,當再次需要根據cookie的配置文件下載cookie文件時,可以不用重新進行下載,直接通過映射關係查找到與cookie的配置文件相對應的cookie文件,進一步提高頁面訪問速度。
步驟206:當所述資料庫中存在與所述配置文件相對應的cookie文件時,直接利用所述cookie文件下載所述頁面。
本發明實施例中,當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,判斷所述資料庫中是否存在與所述配置文件相對應的cookie文件;當所述資料庫中不存在與所述配置文件相對應的cookie文件時,利用所述配置文件下載cookie文件,並利用所述cookie文件下載所述頁面。當所述資料庫中存在與所述配置文件相對應的cookie文件時,直接利用所述cookie文件下載所述頁面。這裡,cookie的配置文件至少包括了cookie的下載地址,如URL,可以根據cookie的配置文件來下載到cookie文件,然後,再並利用所述cookie文件下載所述頁面。
步驟207:當查詢到不存在與所述連結數據相對應的cookie信息時,直接下載所述頁面。
採用本發明實施例的技術方案,能夠降低線程對頁面訪問順序的依賴,使網頁下載系統便於分布式部署,解決了複雜入口頁面的會話生成問題。
圖3為本發明實施例的客戶端的結構組成示意圖一,如圖3所示,所述客戶端包括:
獲取單元31,用於獲取頁面的連結數據;
查詢單元32,用於基於所述連結數據,在資料庫中查詢是否存在與所述連結數據相對應的cookie信息;
第一處理單元33,用於當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie文件時,利用所述cookie文件下載所述頁面;
第二處理單元34,用於當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,利用所述配置文件下載cookie文件,並利用所述cookie文件下載所述頁面。
本領域技術人員應當理解,圖3所示的客戶端中的各單元的實現功能可參照前述頁面的下載方法的相關描述而理解。圖3所示的客戶端中的各單元的功能可通過運行於處理器上的程序而實現,也可通過具體的邏輯電路而實現。
圖4為本發明實施例的客戶端的結構組成示意圖二,如圖4所示,所述客戶端包括:
獲取單元41,用於獲取頁面的連結數據;
查詢單元42,用於基於所述連結數據,在資料庫中查詢是否存在與所述連結數據相對應的cookie信息;
第一處理單元43,用於當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie文件時,利用所述cookie文件下載所述頁面;
第二處理單元44,用於當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,利用所述配置文件下載cookie文件,並利用所述cookie文件下載所述頁面。
在一實現方式中,所述第二處理單元44包括:
判斷子單元441,用於當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,判斷所述資料庫中是否存在與所述配置文件相對應的cookie文件;
下載子單元442,用於當所述資料庫中不存在與所述配置文件相對應的cookie文件時,利用所述配置文件下載cookie文件。
所述下載子單元442,還用於當所述資料庫中存在與所述配置文件相對應的cookie文件時,直接利用所述cookie文件下載所述頁面。
本領域技術人員應當理解,圖4所示的客戶端中的各單元的實現功能可參照前述頁面的下載方法的相關描述而理解。圖4所示的客戶端中的各單元的功能可通過運行於處理器上的程序而實現,也可通過具體的邏輯電路而實現。
圖5為本發明實施例的客戶端的結構組成示意圖三,如圖5所示,所述客戶端包括:
獲取單元51,用於獲取頁面的連結數據;
查詢單元52,用於基於所述連結數據,在資料庫中查詢是否存在與所述連結數據相對應的cookie信息;
第一處理單元53,用於當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie文件時,利用所述cookie文件下載所述頁面;
第二處理單元54,用於當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,利用所述配置文件下載cookie文件,並利用所述cookie文件下載所述頁面。
在一實現方式中,所述第二處理單元54包括:
判斷子單元541,用於當查詢到存在與所述連結數據相對應的cookie信息,且所述cookie信息為cookie的配置文件時,判斷所述資料庫中是否存在與所述配置文件相對應的cookie文件;
下載子單元542,用於當所述資料庫中不存在與所述配置文件相對應的cookie文件時,利用所述配置文件下載cookie文件。
所述下載子單元542,還用於當所述資料庫中存在與所述配置文件相對應的cookie文件時,直接利用所述cookie文件下載所述頁面。
本發明實施例中,所述客戶端還包括:
存儲單元55,用於利用所述配置文件下載cookie文件之後,將下載的cookie文件存入所述資料庫中,並建立所述cookie的配置文件與所述cookie文件之間的映射關係。
本發明實施例中,所述裝置還包括:
第三處理單元56,用於當查詢到不存在與所述連結數據相對應的cookie信息時,直接下載所述頁面。
本領域技術人員應當理解,圖5所示的客戶端中的各單元的實現功能可參照前述頁面的下載方法的相關描述而理解。圖5所示的客戶端中的各單元的功能可通過運行於處理器上的程序而實現,也可通過具體的邏輯電路而實現。
本發明實施例所記載的技術方案之間,在不衝突的情況下,可以任意組合。
在本發明所提供的幾個實施例中,應該理解到,所揭露的方法和智能設備,可以通過其它的方式實現。以上所描述的設備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,如:多個單元或組件可以結合,或可以集成到另一個系統,或一些特徵可以忽略,或不執行。另外,所顯示或討論的各組成部分相互之間的耦合、或直接耦合、或通信連接可以是通過一些接口,設備或單元的間接耦合或通信連接,可以是電性的、機械的或其它形式的。
上述作為分離部件說明的單元可以是、或也可以不是物理上分開的,作為單元顯示的部件可以是、或也可以不是物理單元,即可以位於一個地方,也可以分布到多個網絡單元上;可以根據實際的需要選擇其中的部分或全部單元來實現本實施例方案的目的。
另外,在本發明各實施例中的各功能單元可以全部集成在一個第二處理單元中,也可以是各單元分別單獨作為一個單元,也可以兩個或兩個以上單元集成在一個單元中;上述集成的單元既可以採用硬體的形式實現,也可以採用硬體加軟體功能單元的形式實現。
以上所述,僅為本發明的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。