[發明專利]一種元素代碼的提取方法及系統有效
| 申請號: | 201810239789.4 | 申請日: | 2018-03-22 |
| 公開(公告)號: | CN108446136B | 公開(公告)日: | 2021-10-15 |
| 發明(設計)人: | 沈科 | 申請(專利權)人: | 北京焦點新干線信息技術有限公司 |
| 主分類號: | G06F8/74 | 分類號: | G06F8/74 |
| 代理公司: | 北京集佳知識產權代理有限公司 11227 | 代理人: | 王寶筠 |
| 地址: | 100086 北京*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 元素 代碼 提取 方法 系統 | ||
1.一種元素代碼的提取方法,其特征在于,包括:
獲取目標網站的文檔對象模型中的待提取元素;解析所述待提取元素中包含的目標元數據,包括:獲取目標元素中包含的各個節點和其對應的標簽屬性數據集和樣式表數據集;其中,所述目標元素還包含 SVG 元素;將所述標簽屬性數據集和所述樣式表數據集中數據與預設的必要屬性和樣式數據庫中的各個必要數據進行比對;
將所述標簽屬性數據集中和所述樣式表數據集中不存在于所述預設的必要屬性和樣式數據庫中的數據刪除,得到第一標簽屬性數據集和第一樣式表數據集,其中,所述第一標簽屬性數據集和所述第一樣式表數據集組成所述待提取元素中包含的目標元數據;
對所述目標元數據依據預設的樣式去重處理算法進行樣式去重處理,得到目標樣式數據,包括:
將所述目標元數據中包含的默認樣式數據進行過濾,得到第一目標樣式數據,具體的:采用 iframe 制造樣式隔離環境,在 iframe 中創造相同類型標簽并獲取其樣式數據,然后與原有元素的樣式數據進行對照,判別出具有默認值的樣式屬性并進行過濾;
對所述第一目標樣式數據中與網頁開發者定義的樣式屬性值的不同的樣式屬性值還原,得到第二目標樣式數據;
對與所述第二目標樣式數據進行統計、抽取得到公共樣式數據;
將所述公共樣式數據與所述第二目標樣式數據進行整合,得到目標樣式數據;
將所述目標樣式數據轉換成可提取的目標代碼,對所述目標代碼進行提取;
判斷所述待提取元素中是否存在外鏈文件;若是,解析所述外鏈文件對應的第二樣式數據,將所述第二樣式數據存儲到所述目標樣式數據中,當所述外鏈文件為自定義字體時,通過層疊樣式表 CSS3 的@font-face 模塊解析得到補充樣式作為所述第二樣式數據。
2.根據權利要求 1 所述的方法,其特征在于,還包括:
判斷所述待提取元素中是否包含偽元素;
若是,獲取所述偽元素的第一樣式數據,將所述第一樣式數據存儲到所述目標樣式數據中。
3.一種元素代碼的提取系統,其特征在于,包括:
獲取模塊,用于獲取目標網站的文檔對象模型中的待提取元素;
解析模塊,用于解析所述待提取元素中包含的目標元數據;
所述解析模塊包括:
獲取單元,用于獲取目標元素中包含的各個節點和其對應的標簽屬性數據集和樣式表數據集;其中,所述目標元素還包含 SVG 元素;
比對單元,用于將所述標簽屬性數據集和所述樣式表數據集中數據與預設的必要屬性和樣式數據庫中的各個必要數據進行比對;
刪除單元,用于將所述標簽屬性數據集中和所述樣式表數據集中不存在于所述預設的必要屬性和樣式數據庫中的數據刪除,得到第一標簽屬性數據集和第一樣式表數據集,其中,所述第一標簽屬性數據集和所述第一樣式表數據集組成所述待提取元素中包含的目標元數據;
去重模塊,用于對所述目標元數據依據預設的樣式去重處理算法進行樣式去重處理,得到目標樣式數據;
所述去重模塊包括:
過濾單元,用于將所述目標元數據中包含的默認樣式數據進行過濾,得到第一目標樣式數據,具體的:采用 iframe 制造樣式隔離環境,在 iframe 中創造相同類型標簽并獲取其樣式數據,然后與原有元素的樣式數據進行對照,判別出具有默認值的樣式屬性并進行過濾;
還原單元,用于對所述第一目標樣式數據中與網頁開發者定義的樣式屬性值的不同的樣式屬性值還原,得到第二目標樣式數據;
抽取單元,用于對與所述第二目標樣式數據進行統計、抽取得到公共樣式數據;
整合單元,用于將所述公共樣式數據與所述第二目標樣式數據進行整合,得到目標樣式數據
轉換模塊,用于將所述目標樣式數據轉換成可提取的目標代碼,對所述目標代碼進行提取;
第二判斷模塊,用于判斷所述待提取元素中是否存在外鏈文件;
第二存儲模塊,用于若是,解析所述外鏈文件對應的第二樣式數據,將所述第二樣式數據存儲到所述目標樣式數據中,當所述外鏈文件為自定義字體時,通過層疊樣式表 CSS3的@font-face 模塊解析得到補充樣式作為所述第二樣式數據。
4.根據權利要求 3 所述的系統,其特征在于,還包括:
第一判斷模塊,用于判斷所述待提取元素中是否包含偽元素;
第一存儲模塊,用于若是,獲取所述偽元素的第一樣式數據,將所述第一樣式數據存儲到所述目標樣式數據中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京焦點新干線信息技術有限公司,未經北京焦點新干線信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810239789.4/1.html,轉載請聲明來源鉆瓜專利網。





