專利名稱:自動動態(tài)更新論壇爬蟲系統(tǒng)的構(gòu)建方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)數(shù)據(jù)采集系統(tǒng)的構(gòu)建方法,尤其涉及一種自動
動態(tài)更^H侖壇爬蟲系纟克的構(gòu)建方法。
背景技術(shù):
隨著電腦技術(shù)的發(fā)展普及和互聯(lián)網(wǎng)的迅速崛起,人們漸漸從傳 統(tǒng)的交流溝通形式中抽身而出,利用大量的時間和精力投入到新興
的交流溝通形式-------論壇中。論壇是電腦和互聯(lián)網(wǎng)的產(chǎn)物,它具有
著很多優(yōu)點(diǎn),如實(shí)時性,廣泛性等等。正是這些顯著的優(yōu)點(diǎn)使得人 們在論壇上各杼己見,討論熱點(diǎn)問題,交流技術(shù)和心得等等。論壇 不同于一4殳的門戶網(wǎng)站,其更新速度是非常得快,特別是一些熱門 話題集中討論的更新速度是極其快的,這就對論壇的爬蟲系統(tǒng)提出 巨大的4兆戰(zhàn)。目前的爬蟲系統(tǒng)的更新策略是《爭態(tài)更新方式,即過一 段時間將最容易更新的網(wǎng)頁再重新抓一遍。這種方式對于論壇而言 缺點(diǎn)是明顯的第一,耗時耗力,將自我認(rèn)為是易更新的網(wǎng)頁重新 爬取一遍,而在論壇中這種判斷是很難的,人們對于話題的熱度是 短時間大量集中而后迅速衰減的,這就需要不斷的》務(wù)正易更新的判 斷機(jī)制,這需要大量的人工參與,顯然是不現(xiàn)實(shí)的。第二,實(shí)時性 差,論壇對于一個熱門話題更新是很快的,如果靜態(tài)更新根本跟不 上速度,而且人們對于熱門更新4交快的話題更加有查找的興趣,由 于網(wǎng)頁量的限制,等到靜態(tài)更新到的時候,這個話題很可能已經(jīng)沒 有人關(guān)注了,這樣即使是更新了,也失去了意義。怎樣做到爬蟲系統(tǒng)的迅速實(shí)時更新已受到越來越多的學(xué)者關(guān)注。目前,還沒有一種 系統(tǒng)的行之有效的迅速實(shí)時更新爬蟲構(gòu)建方法。
論壇不同于其他的網(wǎng)站,鑒于其獨(dú)特的構(gòu)建結(jié)構(gòu)特點(diǎn),為了有 效地解決靜態(tài)更新的缺點(diǎn),本發(fā)明提出自動動態(tài)更新的概念,并且 引入自動動態(tài)更新的技術(shù)來迅速實(shí)時更新論壇。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)存在的問題,本發(fā)明的目的是提供一種自動動態(tài) 更新-淪壇爬蟲系統(tǒng)的構(gòu)建方法。
為達(dá)到上述目的,本發(fā)明的方法包括下列步驟 (1 )提取存儲純網(wǎng)頁超鏈接; (2)判斷話題網(wǎng)頁位置;
(3 ) 4企測話題網(wǎng)頁新舊;
(4) 新i舌題網(wǎng)頁處J里;
(5) 舊話題網(wǎng)頁處理;
(6) 純網(wǎng)頁超鏈接情況判斷處理。 上述方法中,步驟(l)進(jìn)一步包括
(11 )提取純網(wǎng)頁超鏈接; (12)存儲純網(wǎng)頁超鏈接。 上述方法中,步-驟(4)進(jìn)一步包4舌
(41) 下載存^f諸整個話題組網(wǎng)頁;
(42) 存儲話題組末尾網(wǎng)頁到檢測庫。 上述方法中,步驟(5)進(jìn)一步包括
(51 )讀取#企測庫話題舊末尾話題網(wǎng)頁;(52 )讀取話題組新末尾網(wǎng)頁;
(53 )比較4企測庫話題舊末尾話題網(wǎng)頁和話題組新末尾網(wǎng)頁的 異同;
(54) 若(53)結(jié)果為相同,則放棄不做任何處理;
(55) 若(53)結(jié)果為不同,則下載存儲話題組舊尾頁后網(wǎng)頁;
(56) 在(55)之后,替代檢測庫舊的話題末尾網(wǎng)頁。 上述方法中,步艱《(6)進(jìn)一步包括
(61 )分析判斷純網(wǎng)頁超鏈4妻是否處理完;
(62) 若(61 )結(jié)果為沒有處理完,則提供待處理純網(wǎng)頁超鏈接;
(63) 若(61)結(jié)果為處理完,則結(jié)束。
本發(fā)明的有益效果在于,通過應(yīng)用本發(fā)明所描述的方法,可以 有歲支i也避免^爭態(tài)更新的弊端;可以自動實(shí)時i也更新i侖壇網(wǎng)頁;可以 為搭建動態(tài)更新論壇爬蟲系統(tǒng)提供通用的設(shè)計(jì)框架;更加迅速便利 i也實(shí)J見系統(tǒng)開發(fā),有歲丈i也降^f氐系統(tǒng)開發(fā)成本。
結(jié)合附圖,本發(fā)明的其他特點(diǎn)和優(yōu)點(diǎn)可以從下面通過舉例來對 本發(fā)明的原理進(jìn)4亍解釋的優(yōu)選實(shí)施方式的i兌明中變得更清楚。
圖1是才艮據(jù)本發(fā)明的一個實(shí)施方式的方法的流程圖。
具體實(shí)施例方式
為了更加清晰描述具體實(shí)施方式
,首先介紹自動動態(tài)更新的思想。論壇不同于其他的網(wǎng)站,更新一般有兩種形式, 一種為新的話 題的開始, 一種為舊的話題的續(xù)接。論壇網(wǎng)頁有用信息的更新全部 是通過這兩條更新線i 各展開的。因?yàn)閕侖壇都是動態(tài)生成網(wǎng)頁,所以 論壇網(wǎng)頁的地址之間有著連續(xù)性,只要4企測每個話題的最末網(wǎng)頁, 并且將新下載的最末的網(wǎng)頁與之前的同話題最末網(wǎng)頁進(jìn)行比較,就 可以得出是否需要更新。而且由于輪壇網(wǎng)頁之間有引用關(guān)系,所以 在爬4爪其他話題網(wǎng)頁的時^矣,可以同時迅速地實(shí)時更新其他話題的 網(wǎng)頁,而不需要Y象I爭態(tài)更新那樣,全部爬4爪完后再去更新制定的一 些網(wǎng)頁。
下面將結(jié)合附圖對本發(fā)明的具體實(shí)施方式
進(jìn)行詳細(xì)描述。
圖1是根據(jù)本發(fā)明的一個實(shí)施方式的方法的流程圖。該流程開
始于步驟101,需要指出的是以下所提及的具體論壇僅僅是舉例, 具體的論壇不構(gòu)成對本發(fā)明的限制。然后在步驟102中,提取當(dāng)前 論壇網(wǎng)頁里的論壇范圍的純網(wǎng)頁超鏈接。需要說明的是起始i侖壇網(wǎng) 頁應(yīng)當(dāng)是包含超鏈接豐富的網(wǎng)頁,如論壇的首頁等,這僅僅是最優(yōu) 舉例,起始論壇網(wǎng)頁的不同不構(gòu)成對本發(fā)明的限制。
提取當(dāng)前論壇網(wǎng)頁里的論壇范圍的純網(wǎng)頁超鏈接, 一種實(shí)施方 式是利用超鏈接的本身所包含的信息來進(jìn)行分析才是取。下面通過舉 例來進(jìn)一步it明。如
http:〃forum.byr.edu.cn/wForum/board.php name=BUPTSTV和 http:〃img.cnbeta.com/kingsoft一576.gif,第 一個為北京由卩電大學(xué)i侖壇 范圍內(nèi)的一個超鏈接,第二個為非北京郵電大學(xué)論壇范圍內(nèi)但卻存 在于北京郵電大學(xué)論壇網(wǎng)頁中的 一個超鏈接。通過超鏈接本身的分 析可知,在北京郵電大學(xué)論壇范圍內(nèi)的超鏈接都包含 http:〃forum.byr.edu.cn字符串,即該i侖壇的主才幾名,并且第 一個為 純網(wǎng)頁,因?yàn)橛袠?biāo)志性的后綴名".php",而第二個因?yàn)橛袌D^f象文件 的后綴名".gif,為非純網(wǎng)頁。在一個i侖壇中,論壇的主機(jī)名是已知的,并且純網(wǎng)頁的標(biāo)志性后纟晨是可》口的有限幾種,php, asp, jsp等等。因此通過正則表達(dá)式匹配主才幾名和后鄉(xiāng)晨名就能夠才是取出 當(dāng)前論壇網(wǎng)頁里的論壇范圍的純網(wǎng)頁超鏈接。以上是提取當(dāng)前論壇 網(wǎng)頁里的論壇范圍的純網(wǎng)頁超鏈接的 一種實(shí)施例,其他不同的實(shí)施 例子不構(gòu)成對本發(fā)明的限制。
步-驟102之后,流考呈進(jìn)入步冬聚103。
在步驟103,存儲純網(wǎng)頁超鏈4妻。 一個實(shí)施例是通過文本系統(tǒng) 或關(guān)系型數(shù)據(jù)庫存儲。以上是存儲純網(wǎng)頁超鏈接的一種實(shí)施例,其 他不同的實(shí)施例子不構(gòu)成對本發(fā)明的限制。
步驟103之后,流程進(jìn)入步驟104。
在步驟104,判斷當(dāng)前話題網(wǎng)頁在話題中的位置。因?yàn)檎搲?是動態(tài)生成網(wǎng)頁,所以論壇網(wǎng)頁的地址之間有著連續(xù)性。 一個實(shí)施 例是通過正則表達(dá)式將當(dāng)前網(wǎng)頁超鏈接后面的page信息取出,根據(jù) page后面的凄史4居判斷。如,
http:〃forum.byr.edu,cn/wForum/disparticle.php boardlSfame=Notebook -ID=79272pos=6&page=2,將page=2耳又出來即可得到當(dāng)前網(wǎng)頁在話 題中的位置是2,即第二個頁面。以上是判斷當(dāng)前話題網(wǎng)頁在話題 中的位置的一種實(shí)施例,其他不同的實(shí)施例子不構(gòu)成對本發(fā)明的限 制。
步-驟104之后,流禾呈進(jìn)入步艱《105。
在步-驟105,;險測當(dāng)前話題網(wǎng)頁新舊。為了清晰i兌明實(shí)施例, 先說明一下檢測庫。檢測庫是一個存儲各個不同話題末頁和其超鏈 接的庫,做比對之用。兩個實(shí)施例是文件系統(tǒng)和關(guān)系型數(shù)據(jù)庫。一 個檢測當(dāng)前話題網(wǎng)頁新舊的實(shí)施例是首先通過字符串技術(shù)將當(dāng)前 話題網(wǎng)頁除了 page信息之外的所有超鏈接信息提取出來,然后在檢測庫中查找是否有當(dāng)前話題網(wǎng)頁的末頁。如步驟104具體實(shí)施例中 的例子,提取出如下信息
http:〃forum.byr.edu.cn/wForum/disparticle.php boardName=Notebook -ID=79272pos=6&,因?yàn)椴牌鬁y庫中都是不同話題的末頁,所以除了 page信息以外的超鏈接信息是各不相同的,這樣在沖全測庫中去查找 是否有如上信息。以上是檢測當(dāng)前話題網(wǎng)頁新舊的一種實(shí)施例,其 他不同的實(shí)施例子不構(gòu)成對本發(fā)明的限制。
若沒有查找到,說明此為新話題,則流程進(jìn)入步驟106;若查 到了,說明此為舊話題,則流程進(jìn)入步驟108。
在步-驟106,下載存4諸當(dāng)前話題網(wǎng)頁所在的整個話題組。 一個 實(shí)施例是將步驟105中提取出的除了 page信息之外的超鏈接信息之 后加上page二l,下載》匕超鏈4妻所指向的i舌題網(wǎng)頁,然后依次2, 3......
一奪網(wǎng)頁全部下載并比4交,直到前一次的網(wǎng)頁和后面的網(wǎng)頁相同為 止,此時說明話題到了末頁,就不再下載存儲了。需要說明的是,
跳轉(zhuǎn)。以上是下載存儲當(dāng)前話題網(wǎng)頁所在的整個話題組的 一種實(shí)施 例,其J也不同的實(shí)施例子不構(gòu)成對本發(fā)明的限制。
步-驟106之后,流程進(jìn)入步驟107。
在步驟107,存儲話題尾頁到檢測庫。 一個實(shí)施例是將步驟106 中得到的話題末頁超鏈4妄直接存儲到文件系統(tǒng)。以上是存儲話題尾 頁到檢測庫的 一種實(shí)施例,其他不同的實(shí)施例子不構(gòu)成對本發(fā)明的 限制。
在步驟108,讀取檢測庫話題舊尾頁。 一個實(shí)施例是將步驟105 中查找到的超鏈接用字符串匹配提取出來。以上是讀^F又檢測庫話題 舊尾頁的 一種實(shí)施例,其他不同的實(shí)施例子不構(gòu)成對本發(fā)明的限 制。步驟108之后,流程進(jìn)入步驟109。
在步-驟109,讀取當(dāng)前話題新末尾網(wǎng)頁。 一個實(shí)施例是將步驟 108中提取出的超鏈接在page信息的數(shù)量上加一后生成新的超鏈 接,然后將此超鏈接所指向的話題網(wǎng)頁下載。以上是讀取當(dāng)前話題 新末尾網(wǎng)頁的 一種實(shí)施例,其4也不同的實(shí)施例子不構(gòu)成只于本發(fā)明的 限制。
步-驟109之后,流禾呈進(jìn)入步-驟110。
在步驟110,比較當(dāng)前話題新末尾網(wǎng)頁和檢測庫話題舊尾頁的 異同。 一個實(shí)施例是比較網(wǎng)頁的大小和從服務(wù)器端得到的網(wǎng)頁的 http頭信息的異同,通過這兩指標(biāo)就可以判斷網(wǎng)頁是否相同。以上 是比4交當(dāng)前話題新末尾網(wǎng)頁和才全測庫話題舊尾頁的異同的 一種實(shí) 施例,其^f也不同的實(shí)施例子不構(gòu)成乂于本發(fā)明的限制。
若兩者相同,說明此舊話題沒有更新,則流程進(jìn)入步驟111; 若兩者不相同,說明此舊話題有更新,則流程進(jìn)入步驟112。
在步-驟lll,〖炮棄不處理。
在步驟112,下載存儲話題組舊尾頁后網(wǎng)頁。 一個實(shí)施例是將 108中提取出的超鏈接的page信息上每次累加一并且下載新生成的 超鏈"l妻所指向的話題網(wǎng)頁,直到前一次的網(wǎng)頁和后面的網(wǎng)頁相同為 止,此時說明話題到了末頁,就不再下載存儲了。以上是下載存4諸 話題組舊尾頁后網(wǎng)頁的 一種實(shí)施例,其他不同的實(shí)施例子不構(gòu)成對 本發(fā)明的限制。
步驟112之后,流程進(jìn)入步驟113。在步驟113,用新的話題尾頁替代檢測庫中舊尾頁。 一個實(shí)施 例是直接將步驟112中得到的新的話題尾頁和其超鏈接插入到相應(yīng) 的檢測庫中舊尾頁的位置并將舊尾頁和其超鏈接刪去。以上是用新 的話題尾頁替代才企測庫中舊尾頁的 一種實(shí)施例,其他不同的實(shí)施例 子不構(gòu)成對本發(fā)明的限制。
步-驟107, 111, 113之后,流程都進(jìn)入步驟114。
在步驟114,分4斤判斷純網(wǎng)頁超《連4妻是否全部處理完。 一個實(shí) 施例是直4妄在步驟103生成的純網(wǎng)頁超《連4妄庫中查找當(dāng)前處理的超 4連接的下一個《連接是否為空。以上是分析判斷純網(wǎng)頁超鏈4妄是否全 部處理完的一種實(shí)施例,其他不同的實(shí)施例子不構(gòu)成對本發(fā)明的限制。
若為空,說明純網(wǎng)頁超鏈接全部處理完,則流程進(jìn)入步驟116; 若不為空,i兌明純網(wǎng)頁超《連接沒有全部處理完,則流程進(jìn)入步-驟 115。
在步驟114,提供待處理超鏈接。 一個實(shí)施例是直接在步驟103 生成的純網(wǎng)頁超鏈接庫中提取當(dāng)前處理的超鏈接的下 一 個鏈接,然 后將此鏈接送到步驟102。以上是提供待處理超鏈接的一種實(shí)施例, 其他不同的實(shí)施例子不構(gòu)成對本發(fā)明的限制。
在步-驟116,結(jié)束。
以上結(jié)合附圖描述了本發(fā)明的具體實(shí)施方式
,各種舉例i兌明不 對發(fā)明的實(shí)質(zhì)內(nèi)容構(gòu)成限制,本發(fā)明不限于上面l是供的實(shí)施細(xì)節(jié), 可以在不脫離本發(fā)明特征的情況下以另外的實(shí)施例實(shí)現(xiàn)。所屬技術(shù) 領(lǐng)域的普通技術(shù)人員在閱讀了說明書后可以對以前所述的具體實(shí) 施方式估:H務(wù)改或變形,而不背離發(fā)明的實(shí)質(zhì)和范圍。
權(quán)利要求
1. 一種自動動態(tài)更新論壇爬蟲系統(tǒng)的構(gòu)建方法,其特征在于包括下列步驟(1)提取存儲純網(wǎng)頁超鏈接;(2)判斷話題網(wǎng)頁位置;(3)檢測話題網(wǎng)頁新舊;(4)新話題網(wǎng)頁處理;(5)舊話題網(wǎng)頁處理;(6)純網(wǎng)頁超鏈接情況判斷處理。
2. 根據(jù)權(quán)利要求1所述的自動動態(tài)更新論壇爬蟲系統(tǒng)的構(gòu)建方 法,其特征在于步驟(l)進(jìn)一步包括(11 )才是取純網(wǎng)頁超4連4妻;(12)存儲純網(wǎng)頁超鏈接。
3. 根據(jù)權(quán)利要求1所述的自動動態(tài)更新論壇爬蟲系統(tǒng)的構(gòu)建方 法,其特征在于步驟(4)進(jìn)一步包括(41) 下載存《諸整個話題組網(wǎng)頁;(42) 存儲話題組末尾網(wǎng)頁到?jīng)_企測庫。
4. 才艮據(jù)4又利要求1所述的自動動態(tài)更新-淪壇爬蟲系統(tǒng)的構(gòu)建方 法,其特征在于步驟(5)進(jìn)一步包括(51 )讀取檢測庫話題舊末尾話題網(wǎng)頁;(52 )讀取;舌題組新末尾網(wǎng)頁;(53 )比4交才企測庫話題舊末尾話題網(wǎng)頁和話題組新末尾 網(wǎng)頁的異同;(54 )若(53 )結(jié)果為相同,則;故棄不催"壬<可處理;(55)若(53)結(jié)果為不同,則下載存儲話題組舊尾頁 后網(wǎng)頁;(56 )在(55 )之后,替代沖企測庫舊的話題末尾網(wǎng)頁。
5.根據(jù)權(quán)利要求1所述的自動動態(tài)更新論壇爬蟲系統(tǒng)的構(gòu)建方 法,其特;f正在于步驟(6)進(jìn)一步包括(61) 分4斤判斷純網(wǎng)頁超鏈4姿是否處理完;(62) 若(61)結(jié)果為沒有處理完,則沖是供4寺處理純網(wǎng) 頁超鏈接;(63) 若(61)結(jié)果為處理完,則結(jié)束。
全文摘要
本發(fā)明公開了一種自動動態(tài)更新論壇爬蟲系統(tǒng)的構(gòu)建方法,該方法包括下列步驟(1)提取存儲純網(wǎng)頁超鏈接;(2)判斷話題網(wǎng)頁位置;(3)檢測話題網(wǎng)頁新舊;(4)新話題網(wǎng)頁處理;(5)舊話題網(wǎng)頁處理;(6)純網(wǎng)頁超鏈接情況判斷處理。通過應(yīng)用本發(fā)明所描述的方法,可以有效地避免靜態(tài)更新的弊端;可以自動實(shí)時地更新論壇網(wǎng)頁;可以為搭建動態(tài)更新論壇爬蟲系統(tǒng)提供通用的設(shè)計(jì)框架;更加迅速便利地實(shí)現(xiàn)系統(tǒng)開發(fā),有效地降低系統(tǒng)開發(fā)成本。
文檔編號G06F17/30GK101436196SQ20081018082
公開日2009年5月20日 申請日期2008年11月25日 優(yōu)先權(quán)日2008年11月25日
發(fā)明者徐蔚然, 溥 楊, 軍 郭 申請人:北京郵電大學(xué)