[發明專利]多狀態AJAX網頁內容獲取方法及系統無效
| 申請號: | 201210028947.4 | 申請日: | 2012-02-09 |
| 公開(公告)號: | CN102609518A | 公開(公告)日: | 2012-07-25 |
| 發明(設計)人: | 任勇;彭兆盟;徐蕾;何能強;姜春曉;李治華;孫權 | 申請(專利權)人: | 清華大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京路浩知識產權代理有限公司 11002 | 代理人: | 王瑩 |
| 地址: | 100084 北京市海*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 狀態 ajax 網頁 內容 獲取 方法 系統 | ||
技術領域
本發明涉及互聯網數據挖掘技術領域,特別涉及一種多狀態AJAX網頁內容自動獲取方法及系統。
背景技術
隨著互聯網的不斷發展,互聯網已經進入了Web?2.0時代,越來越多的網站開發者采用AJAX等技術開發他們的網站。AJAX(Asynchronous?JavaScript?and?XML,異步JavaScript和XML)技術可以使部分頁面異步更新,用戶可以在不刷新整個頁面的情況下動態獲取更新部分,帶來了更小的等待延時和更好的用戶體驗。AJAX網頁與傳統的靜態網頁不一樣,每個頁面可以分成不同的“狀態”:一個AJAX頁面同一個URL(Uniform?Resource?Locator,統一資源定位符)下可以有不同頁面狀態,每個狀態上可能有不同的AJAX調用事件,這些狀態之間通過執行AJAX調用事件進行相互轉換,狀態之間的轉換可以形成一個有向的狀態轉換圖:頂點為狀態,邊為AJAX調用事件。
網絡爬蟲是是一種互聯網數據獲取系統,能自動獲取互聯網上的網頁內容,是搜索引擎的重要組成部分。傳統爬蟲不執行JavaScript腳本,因此不能抓取AJAX網頁執行腳本后動態加載的網頁內容。現有的支持AJAX網頁的爬蟲加入了JavaScript解析功能,如申請號為200910133630.5的中國專利《一種AJAX網頁內容的抓取方法及系統》,但該類爬蟲仍只是根據網頁的URL進行網頁內容抓取,同一URL對應的AJAX網頁內容只抓取一次。然而常見的AJAX網頁一個URL通常都對應多個頁面狀態,比如AJAX分頁應用,一個URL對應多個分頁狀態,現有的抓取方法不支持同一網址下的多狀態內容自動識別和獲取。
發明內容
(一)要解決的技術問題
有鑒于此,本發明的目的在于提出一種多狀態AJAX網頁內容獲取方法和系統,以解決多狀態AJAX網頁中所有不同狀態的自動獲取。
(二)技術方案
為了解決上述技術問題,本發明提供一種多狀態AJAX網頁內容獲取方法,包括步驟:
S101:通過URL加載AJAX網頁,得到網頁初始狀態,并在AJAX狀態轉換圖上添加一個對應該網頁初始狀態的新頂點;
S102:判斷頂點數是否大于閾值,若是轉向步驟S111,否則轉向步驟S103;
S103:提取出該網頁當前狀態上的每一個AJAX調用事件,若為新事件,加入到該狀態對應的AJAX調用事件隊列中,否則在狀態轉換圖上添加一條邊,該邊始于當前狀態頂點,終于目標狀態頂點;
S104:判斷該狀態AJAX調用事件隊列是否為空,若該狀態AJAX調用事件隊列不為空,則轉向步驟S105,否則轉向步驟S109;
S105:從隊列中取出一個新的AJAX調用事件并執行;
S106:判斷得到的狀態是否為新狀態,若是新狀態,轉向步驟S107,否則轉向步驟S108;
S107:在AJAX狀態轉換圖上添加一個對應該狀態的新頂點,并添加一條從前一狀態頂點到當前狀態頂點的邊,轉向步驟S102;
S108:添加一條從前一狀態頂點到當前狀態頂點的邊,轉向步驟S104;
S109:尋找AJAX調用事件隊列不為空的狀態,若找到,轉向步驟S110,否則轉向步驟S111;
S110:導航到所述AJAX調用事件隊列不為空的狀態,轉向步驟S105;
S111:本次抓取過程結束。
優選地,所述步驟S110中導航到AJAX調用事件隊列不為空的狀態的方法為:在已得到的狀態轉換圖中找到從當前狀態到新狀態之間的最短路徑,并執行最短路徑上的事件導航到新狀態。
優選地,利用dijkstra算法在狀態轉換圖中找到對應頂點之間的最短路徑。
優選地,所述步驟S106中判斷得到的狀態是否為新狀態的方法包括步驟:
S201:AJAX頁面狀態過濾,去除頁面狀態中包括無關標簽及其屬性的無關部分;
S202:應用AJAX重復狀態檢測方法比較頁面狀態。
優選地,所述AJAX重復狀態檢測方法包括步驟:
S202a:比較兩個處理后的狀態Hash值是否相同,若相同,則是重復狀態,否則繼續進行步驟S202b;
S202b:比較兩個狀態上的AJAX調用事件是否相同,若不相同,則是新狀態;若相同則比較兩個狀態是否近似重復,若是,則是重復狀態,否則是新狀態。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于清華大學,未經清華大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210028947.4/2.html,轉載請聲明來源鉆瓜專利網。
- 內容再現系統、內容提供方法、內容再現裝置、內容提供裝置、內容再現程序和內容提供程序
- 內容記錄系統、內容記錄方法、內容記錄設備和內容接收設備
- 內容服務系統、內容服務器、內容終端及內容服務方法
- 內容分發系統、內容分發裝置、內容再生終端及內容分發方法
- 內容發布、內容獲取的方法、內容發布裝置及內容傳播系統
- 內容提供裝置、內容提供方法、內容再現裝置、內容再現方法
- 內容傳輸設備、內容傳輸方法、內容再現設備、內容再現方法、程序及內容分發系統
- 內容發送設備、內容發送方法、內容再現設備、內容再現方法、程序及內容分發系統
- 內容再現裝置、內容再現方法、內容再現程序及內容提供系統
- 內容記錄裝置、內容編輯裝置、內容再生裝置、內容記錄方法、內容編輯方法、以及內容再生方法





