[發(fā)明專利]基于XPath序列的網(wǎng)頁列表解析方法及系統(tǒng)有效
申請?zhí)枺?/td> | 202010825868.0 | 申請日: | 2020-08-17 |
公開(公告)號: | CN111966930B | 公開(公告)日: | 2021-05-04 |
發(fā)明(設(shè)計(jì))人: | 李釗;王瑞霜;陳通;盧鳳;胡傳會;魏靜 | 申請(專利權(quán))人: | 山東億云信息技術(shù)有限公司 |
主分類號: | G06F16/955 | 分類號: | G06F16/955;G06F16/958;G06F40/14 |
代理公司: | 濟(jì)南圣達(dá)知識產(chǎn)權(quán)代理有限公司 37221 | 代理人: | 黃海麗 |
地址: | 250014 山東省濟(jì)南市*** | 國省代碼: | 山東;37 |
權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
摘要: | |||
搜索關(guān)鍵詞: | 基于 xpath 序列 網(wǎng)頁 列表 解析 方法 系統(tǒng) | ||
1.基于XPath序列的網(wǎng)頁列表解析方法,包括:
根據(jù)URL獲取網(wǎng)頁的HTML源代碼;
根據(jù)網(wǎng)頁的HTML源代碼,生成DOM Tree;
根據(jù)DOM Tree,獲取網(wǎng)頁中列表項(xiàng)的候選路徑;
從候選路徑中篩選出列表項(xiàng)的簡化XPath路徑,建立候選簡化XPath路徑與標(biāo)簽label的字典;
根據(jù)簡化XPath路徑與標(biāo)簽label的字典,獲取網(wǎng)頁列表項(xiàng)的結(jié)果;
根據(jù)DOM Tree,獲取網(wǎng)頁中列表項(xiàng)的候選路徑;具體步驟包括:
獲取DOM Tree中所有a下文本內(nèi)容不為空的超鏈接a節(jié)點(diǎn);
獲取超鏈接a節(jié)點(diǎn)的實(shí)際XPath路徑,對實(shí)際XPath路徑進(jìn)行簡化,得到簡化XPath路徑;將簡化XPath路徑作為key,將實(shí)際XPath路徑作為value,建立簡化XPath路徑與實(shí)際XPath路徑的字典;
從簡化XPath路徑與實(shí)際XPath路徑的字典中,判斷簡化XPath路徑對應(yīng)的實(shí)際XPath路徑的數(shù)量是否大于等于設(shè)定閾值,如果是,則將當(dāng)前簡化XPath路徑作為候選簡化XPath路徑;如果否,則將當(dāng)前簡化XPath路徑刪除;最后得到候選簡化XPath路徑與實(shí)際XPath路徑的字典。
2.如權(quán)利要求1所述的方法,其特征是,對實(shí)際XPath路徑進(jìn)行簡化,得到簡化XPath路徑;具體步驟包括:
將XPath路徑中的標(biāo)簽元素位置索引替換為空串。
3.如權(quán)利要求1所述的方法,其特征是,設(shè)定閾值,是因?yàn)榫W(wǎng)頁中的列表項(xiàng)的簡化XPath相同,并且列表中的列表項(xiàng)數(shù)多;如果不設(shè)置閾值,則獲取到的a標(biāo)簽的簡化路徑均為候選XPath路徑,會降低程序的效率。
4.如權(quán)利要求1所述的方法,其特征是,從候選路徑中篩選出列表項(xiàng)的簡化XPath路徑,建立候選簡化XPath路徑與標(biāo)簽label的字典;具體步驟包括:
(1):遍歷候選簡化XPath路徑與實(shí)際XPath路徑的字典,遍歷候選簡化路徑對應(yīng)的實(shí)際XPath路徑,獲取實(shí)際XPath路徑對應(yīng)的a節(jié)點(diǎn);判斷a節(jié)點(diǎn)下的文本是否包含日期項(xiàng),如果不包含日期項(xiàng),則進(jìn)入(2),如果包含日期項(xiàng),則將當(dāng)前候選簡化路徑作為key,標(biāo)簽“c”作為value,建立候選簡化XPath路徑與標(biāo)簽label的字典項(xiàng);結(jié)束本次循環(huán),繼續(xù)對下一個候選簡化路徑進(jìn)行判斷;
(2):根據(jù)超鏈接節(jié)點(diǎn)a獲取其父節(jié)點(diǎn)記為node_p,在父節(jié)點(diǎn)node_p不為空的情況下,如果父節(jié)點(diǎn)node_p的tag為div或者父節(jié)點(diǎn)node_p節(jié)點(diǎn)下的超鏈接節(jié)點(diǎn)a個數(shù)大于等于2,認(rèn)為節(jié)點(diǎn)a不是列表項(xiàng)中的a標(biāo)簽;如果父節(jié)點(diǎn)node_p的Html標(biāo)簽不為div或者父節(jié)點(diǎn)node_p節(jié)點(diǎn)下的超鏈接節(jié)點(diǎn)a個數(shù)小于2,則判斷node_p節(jié)點(diǎn)下的文本中是否包含日期項(xiàng),如果不包含,則執(zhí)行(3);如果包含,則將當(dāng)前候選簡化路徑作為key,標(biāo)識“p”作為value,建立候選簡化XPath路徑與標(biāo)簽label的字典項(xiàng),并結(jié)束本次循環(huán),繼續(xù)對下一個候選簡化路徑進(jìn)行判斷;
(3):記父節(jié)點(diǎn)node_p的父節(jié)點(diǎn)為node_pp,在node_pp不為空的情況下,如果node_pp節(jié)點(diǎn)的tag為div或者node_pp節(jié)點(diǎn)下的a節(jié)點(diǎn)個數(shù)大于等于2,此時認(rèn)為該a節(jié)點(diǎn)不是列表項(xiàng)中的a標(biāo)簽;如果node_pp節(jié)點(diǎn)的tag不為div或者node_pp節(jié)點(diǎn)下的a節(jié)點(diǎn)個數(shù)小于2,則判斷node_pp節(jié)點(diǎn)下的文本中是否包含日期項(xiàng),如果不包含,則執(zhí)行(4);如果包含,則將該簡化路徑作為key,標(biāo)識“pp”作為value,建立候選簡化XPath路徑與標(biāo)簽label的字典項(xiàng),并結(jié)束本次循環(huán),繼續(xù)對下一個候選簡化路徑進(jìn)行判斷;
(4):判斷node_pp的父節(jié)點(diǎn)是否為空并且該節(jié)點(diǎn)下的a節(jié)點(diǎn)的個數(shù)是否小于2,如果是,則判斷該節(jié)點(diǎn)下是否包含日期項(xiàng),如果是,則將該簡化路徑作為key,標(biāo)識“ppp”作為value,建立候選簡化XPath路徑與標(biāo)簽label的字典項(xiàng),并結(jié)束本次循環(huán),繼續(xù)對下一個候選簡化路徑進(jìn)行判斷;直至所有候選簡化路徑被判斷完畢,得到了候選簡化XPath路徑與標(biāo)簽label的字典。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于山東億云信息技術(shù)有限公司,未經(jīng)山東億云信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010825868.0/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。