專利名稱:一種智能解析互聯(lián)網(wǎng)內(nèi)容的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種智能解析互聯(lián)網(wǎng)內(nèi)容的方法,特別涉及一種使用正則表達(dá)式 來(lái)智能解析互聯(lián)網(wǎng)內(nèi)容的方法。
背景技術(shù):
互聯(lián)網(wǎng)內(nèi)容通常都以HTML的形式存在,如何從不規(guī)范的HTML中獲取我們 想要的規(guī)范化內(nèi)容一直是困擾很多IT技術(shù)人員的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種采用正則表達(dá)式來(lái)解析互聯(lián)網(wǎng)內(nèi)容 的方法。
本發(fā)明所述的一種智能解析互聯(lián)網(wǎng)內(nèi)容的方法,該方法至少包括如下的步
驟
步驟1:添加抓取任務(wù),需要指定任務(wù)要抓取的條目列表所在Web頁(yè)面的 Url,并指定抓取的周期。
步驟2:針對(duì)每個(gè)抓取任務(wù),通過(guò)一種易擴(kuò)展的語(yǔ)法,來(lái)指定如何使用正則 表達(dá)式來(lái)匹配網(wǎng)頁(yè)的內(nèi)容,包括條目列表、標(biāo)題、正文及頁(yè)碼,存于數(shù)據(jù)庫(kù)中。
步驟3:抓取任務(wù)調(diào)度服務(wù)器加載需要抓取的任務(wù)。
步驟4:抓取終端訪問(wèn)調(diào)度服務(wù)器,獲取需要執(zhí)行的任務(wù);可以同時(shí)開(kāi)啟多 個(gè)抓取終端。
步驟5:抓取終端讀取任務(wù)中的信息,從指定的條目列表Url上獲取HTML。
步驟6:抓取終端使用正則表達(dá)式來(lái)提取出內(nèi)容頁(yè)的Url列表。
步驟7:抓取終端依次下載每個(gè)內(nèi)容頁(yè)Url的HTML,并使用指定的正則表達(dá)式來(lái)提取標(biāo)題、內(nèi)容。
步驟8:抓取終端同時(shí)記錄抓取過(guò)程中出現(xiàn)的錯(cuò)誤。
步驟9:抓取終端抓完所有的頁(yè)面之后,把抓取結(jié)果及出現(xiàn)的錯(cuò)誤上傳給調(diào) 度服務(wù)器。
步驟10:調(diào)度服務(wù)器將抓取結(jié)果匯總到臨時(shí)目錄中準(zhǔn)備批量入庫(kù)。
本發(fā)明所述的一種智能解析互聯(lián)網(wǎng)內(nèi)容的方法,抓取終端依次下載每個(gè)內(nèi) 容頁(yè)Url的HTML,并使用指定的正則表達(dá)式來(lái)提取標(biāo)題、內(nèi)容,其步驟為
步驟71:需要考慮到一個(gè)條目列表的Url對(duì)應(yīng)多個(gè)內(nèi)容頁(yè)版式的情況,可 以寫(xiě)多個(gè)正則表達(dá)式,抓取終端將依次嘗試。
步驟72:如果所有的正則表達(dá)式都無(wú)法成功匹配該網(wǎng)頁(yè),則會(huì)無(wú)法解碼的 錯(cuò)誤。
步驟73:需要考慮內(nèi)容區(qū)域中鑲嵌有廣告或不需要的文本的情況,將通過(guò)正 則表達(dá)式進(jìn)行移除。
步驟74:如果內(nèi)容分頁(yè),則通常會(huì)有頁(yè)碼區(qū)域,抓取終端將通過(guò)正則表達(dá) 式匹配到頁(yè)碼區(qū)域,提取出其超級(jí)鏈接,依次再匹配其它頁(yè)面的內(nèi)容,并將內(nèi) 容連接在一起。
本發(fā)明涉及的一種采用正則表達(dá)式來(lái)解析互聯(lián)網(wǎng)內(nèi)容的方法,使得可以從 不規(guī)范的HTML中獲取互聯(lián)網(wǎng)內(nèi)容。
圖1為本發(fā)明的流程圖。
具體實(shí)施例方式
參見(jiàn)圖1,本發(fā)明的主要步驟如下
步驟1:添加抓取任務(wù),需要指定任務(wù)要抓取的條目列表所在Web頁(yè)面的Url,并指定抓取的周期。
步驟2:針對(duì)每個(gè)抓取任務(wù),通過(guò)一種易擴(kuò)展的語(yǔ)法,來(lái)指定如何使用正則 表達(dá)式來(lái)匹配網(wǎng)頁(yè)的內(nèi)容,包括條目列表、標(biāo)題、正文及頁(yè)碼,存于數(shù)據(jù)庫(kù)中。
步驟3:抓取任務(wù)調(diào)度服務(wù)器加載需要抓取的任務(wù)。
步驟4:抓取終端訪問(wèn)調(diào)度服務(wù)器,獲取需要執(zhí)行的任務(wù);可以同時(shí)開(kāi)啟多 個(gè)抓取終端。
步驟5:抓取終端讀取任務(wù)中的信息,從指定的條目列表Url上獲取HTML。 步驟6:抓取終端使用正則表達(dá)式來(lái)提取出內(nèi)容頁(yè)的Url列表。 步驟7:抓取終端依次下載每個(gè)內(nèi)容頁(yè)Url的HTML,并使用指定的正則表 達(dá)式來(lái)提取標(biāo)題、內(nèi)容。
步驟8:抓取終端同時(shí)記錄抓取過(guò)程中出現(xiàn)的錯(cuò)誤。
步驟9:抓取終端抓完所有的頁(yè)面之后,把抓取結(jié)果及出現(xiàn)的錯(cuò)誤上傳給調(diào) 度服務(wù)器。
步驟10:調(diào)度服務(wù)器將抓取結(jié)果匯總到臨時(shí)目錄中準(zhǔn)備批量入庫(kù)。 上述步驟7所述的一種智能解析互聯(lián)網(wǎng)內(nèi)容的方法,抓取終端依次下載每
個(gè)內(nèi)容頁(yè)Url的HTML,并使用指定的正則表達(dá)式來(lái)提取標(biāo)題、內(nèi)容的具體步驟
為
步驟71:需要考慮到一個(gè)條目列表的Url對(duì)應(yīng)多個(gè)內(nèi)容頁(yè)版式的情況,可 以寫(xiě)多個(gè)正則表達(dá)式,抓取終端將依次嘗試。
步驟72:如果所有的正則表達(dá)式都無(wú)法成功匹配該網(wǎng)頁(yè),則會(huì)無(wú)法解碼的 錯(cuò)誤。
步驟73:需要考慮內(nèi)容區(qū)域中鑲嵌有廣告或不需要的文本的情況,將通過(guò)正 則表達(dá)式進(jìn)行移除。步驟74:如果內(nèi)容分頁(yè),則通常會(huì)有頁(yè)碼區(qū)域,抓取終端將通過(guò)正則表達(dá) 式匹配到頁(yè)碼區(qū)域,提取出其超級(jí)鏈接,依次再匹配其它頁(yè)面的內(nèi)容,并將內(nèi) 容連接在一起。
上述的技術(shù)方案實(shí)施時(shí)使得使用正則表達(dá)式來(lái)解析互聯(lián)網(wǎng)內(nèi)容。 最后所應(yīng)說(shuō)明的是,以上實(shí)施例僅用以說(shuō)明而并非限制本發(fā)明所描述的技
但是,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,仍然可以對(duì)本發(fā)明進(jìn)行修改或者等同 地替換;而一切不脫離本發(fā)明的精神和范圍的技術(shù)方案及其改進(jìn),其均應(yīng)涵蓋 在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1、一種智能解析互聯(lián)網(wǎng)內(nèi)容的方法,其特征在于該方法至少包括如下的步驟步驟1添加抓取任務(wù),需要指定任務(wù)要抓取的條目列表所在Web頁(yè)面的Ur1,并指定抓取的周期。步驟2針對(duì)每個(gè)抓取任務(wù),通過(guò)一種易擴(kuò)展的語(yǔ)法,來(lái)指定如何使用正則表達(dá)式來(lái)匹配網(wǎng)頁(yè)的內(nèi)容,包括條目列表、標(biāo)題、正文及頁(yè)碼,存于數(shù)據(jù)庫(kù)中。步驟3抓取任務(wù)調(diào)度服務(wù)器加載需要抓取的任務(wù)。步驟4抓取終端訪問(wèn)調(diào)度服務(wù)器,獲取需要執(zhí)行的任務(wù);可以同時(shí)開(kāi)啟多個(gè)抓取終端。步驟5抓取終端讀取任務(wù)中的信息,從指定的條目列表Ur1上獲取HTML。步驟6抓取終端使用正則表達(dá)式來(lái)提取出內(nèi)容頁(yè)的Ur1列表。步驟7抓取終端依次下載每個(gè)內(nèi)容頁(yè)Ur1的HTML,并使用指定的正則表達(dá)式來(lái)提取標(biāo)題、內(nèi)容。步驟8抓取終端同時(shí)記錄抓取過(guò)程中出現(xiàn)的錯(cuò)誤。步驟9抓取終端抓完所有的頁(yè)面之后,把抓取結(jié)果及出現(xiàn)的錯(cuò)誤上傳給調(diào)度服務(wù)器。步驟10調(diào)度服務(wù)器將抓取結(jié)果匯總到臨時(shí)目錄中準(zhǔn)備批量入庫(kù)。
2、 根據(jù)權(quán)力要求1所述的一種智能解析互聯(lián)網(wǎng)內(nèi)容的方法,其特征在于抓 取終端依次下載每個(gè)內(nèi)容頁(yè)Url的HTML,并使用指定的正則表達(dá)式來(lái)提取標(biāo)題、 內(nèi)容,其步驟為步驟71:需要考慮到一個(gè)條目列表的Url對(duì)應(yīng)多個(gè)內(nèi)容頁(yè)版式的情況,可 以寫(xiě)多個(gè)正則表達(dá)式,抓取終端將依次嘗試。步驟72:如果所有的正則表達(dá)式都無(wú)法成功匹配該網(wǎng)頁(yè),則會(huì)無(wú)法解碼的錯(cuò)誤。步驟73:需要考慮內(nèi)容區(qū)域中鑲嵌有廣告或不需要的文本的情況,將通過(guò)正 則表達(dá)式進(jìn)行移除。步驟74:如果內(nèi)容分頁(yè),則通常會(huì)有頁(yè)碼區(qū)域,抓取終端將通過(guò)正則表達(dá) 式匹配到頁(yè)碼區(qū)域,提取出其超級(jí)鏈接,依次再匹配其它頁(yè)面的內(nèi)容,并將內(nèi) 容連接在一起。
全文摘要
一種智能解析互聯(lián)網(wǎng)內(nèi)容的方法,首先內(nèi)容抓取程序從指定的索引頁(yè)Url上獲取HTML,并使用正則表達(dá)式來(lái)提取出內(nèi)容頁(yè)的Url列表;然后針對(duì)每個(gè)內(nèi)容頁(yè),抓取程序再次根據(jù)其Url下載HTML,并使用正則表達(dá)式提取出標(biāo)題、正文,如果有頁(yè)碼也會(huì)被提取出來(lái);對(duì)于含有頁(yè)碼的內(nèi)容頁(yè),抓取程序?qū)⒁来蜗螺d其HTML并解碼,并將正文組合在一起;最后如果正文中含有圖片,則將圖片下載下來(lái)并縮放為指定的尺寸和質(zhì)量。本發(fā)明使得如果正文中含有圖片,則將圖片下載下來(lái)并縮放為指定的尺寸和質(zhì)量。
文檔編號(hào)G06F17/30GK101556592SQ20081010358
公開(kāi)日2009年10月14日 申請(qǐng)日期2008年4月9日 優(yōu)先權(quán)日2008年4月9日
發(fā)明者濤 孫, 楠 張, 徐友春, 朱紅軍, 湯海京, 峰 趙 申請(qǐng)人:北京聞言科技有限公司