一種針對圖書檢索信息進行斷點續(xù)采的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例公開了一種針對圖書檢索信息進行斷點續(xù)采的方法和系統(tǒng)。其中,該方法包括如下步驟:(1)斷點信息加載步驟;(2)跳轉(zhuǎn)到相應(yīng)爬取位置步驟;(3)斷點信息保存步驟;(4)圖書信息的下載和處理步驟,重復(fù)執(zhí)行步驟(4)。還公開了一種針對圖書檢索信息進行斷點續(xù)采的系統(tǒng),利用本發(fā)明實施例,能夠?qū)崿F(xiàn)斷點續(xù)采,提高采集的效率,具有很大的實用價值。
【專利說明】一種針對圖書檢索信息進行斷點續(xù)采的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及文本信息處理范疇中的網(wǎng)絡(luò)信息采集技術(shù),尤其涉及一種針對圖書檢索信息進行斷點續(xù)采的方法和系統(tǒng)。
【背景技術(shù)】
[0002]隨著萬維網(wǎng)的出現(xiàn),人們開始通過網(wǎng)絡(luò)傳播信息,網(wǎng)絡(luò)信息成幾何級增長。隨著信息量的暴漲,如何快速搜集所需信息成為人們的關(guān)注點,此時網(wǎng)絡(luò)爬蟲應(yīng)運而生。網(wǎng)絡(luò)爬蟲是通過一個入口,用圖的遍歷算法,抓取互聯(lián)網(wǎng)中的網(wǎng)頁信息,并對爬取的信息處理、存儲的程序。
[0003]圖書館,是搜集、整理、收藏圖書資料供人閱覽、參考的機構(gòu)。早期圖書館是由手工操作,隨著計算機的發(fā)展,圖書館逐漸趨向自動化操作,圖書管理系統(tǒng)的誕生加速了這一發(fā)展。相對于幾何級非結(jié)構(gòu)化的網(wǎng)絡(luò)信息,圖書館中的信息是經(jīng)過組織的結(jié)構(gòu)化信息。
[0004]圖書館的藏書信息中蘊含了大量的有價值的信息,如果能準(zhǔn)確高效地獲取館藏信息,將具有重要的現(xiàn)實意義。通過對不同圖書館的圖書資源對比,可以輔助元搜索;對各大高校的圖書信息進行分析,可以得到各高校的館藏結(jié)構(gòu),其中館藏結(jié)構(gòu)是圖書館文獻保障能力和服務(wù)水平的重要體現(xiàn);分析高校各類圖書所占的比例,可以預(yù)測該高校的學(xué)科性質(zhì)和重點學(xué)術(shù)方向。同時,通過對圖書信息分析可以獲得各類圖書的出版情況,出版社的占有率情況以及各高校的圖書購買情況等。
[0005]目前,獲取各大圖書館館藏信息的主流做法是構(gòu)建針對圖書系統(tǒng)的網(wǎng)絡(luò)爬蟲。網(wǎng)絡(luò)爬蟲可以自動爬取該圖書館下的所有圖書信息,但是,由于網(wǎng)絡(luò)的不穩(wěn)定、服務(wù)器故障等原因會造成爬蟲程序中斷。處理爬蟲中斷的一般方法是重啟爬蟲,由于程序沒有記憶上一次的中斷點,程序會從入口點重新爬取圖書信息,這樣造成了很多的重復(fù)性工作,降低了爬蟲的效率。
【發(fā)明內(nèi)容】
[0006]針對現(xiàn)有技術(shù)存在的問題,本發(fā)明的目的是提供一種針對圖書檢索信息進行斷點續(xù)采的方法。
[0007]為達到上述目的,本發(fā)明提出的針對圖書檢索信息進行斷點續(xù)采方法包括下列步驟:
[0008](I)斷點信息加載步驟;
[0009](2)跳轉(zhuǎn)到相應(yīng)爬取位置步驟;
[0010](3)斷點信息保存步驟;
[0011](4)圖書信息下載處理步驟,重復(fù)執(zhí)行步驟(2);
[0012]上述方法中,步驟(I)進一步包括:
[0013](11)讀取斷點信息文件步驟,斷點信息文件中保存了中斷點的索書號、頁碼和頁碼內(nèi)第幾項;[0014](12)獲取斷點信息步驟,處理讀入的信息,得到斷點處索書號S,頁碼P,頁內(nèi)第幾項N。
[0015]上述方法中,步驟(2)進一步包括:
[0016](21)跳轉(zhuǎn)到檢索結(jié)果頁步驟,即根據(jù)索書號S和前一次爬取狀態(tài),確定本次檢索號Sn,跳轉(zhuǎn)到對應(yīng)檢索結(jié)果頁;
[0017](22)下載解析結(jié)果頁步驟,下載結(jié)果頁并通過正則表達式獲取查詢結(jié)果信息;
[0018](23)判斷是否有最大顯示記錄限制步驟,若無數(shù)量限制,則執(zhí)行步驟(24);若有數(shù)量限制,判斷當(dāng)前檢索結(jié)果是否超過最大顯示數(shù)目,如果超過,則縮小索書號的范圍,即把當(dāng)前索書號作為首位不變,在其后添加子位以遍歷所有的情況,子位應(yīng)包含索書號中可能出現(xiàn)的所有字符,跳轉(zhuǎn)回步驟(21),重新檢索;如果沒有超過,則執(zhí)行步驟(24);
[0019](24)跳轉(zhuǎn)到列表頁步驟,根據(jù)頁碼P和前一次爬取狀態(tài),確定本次采集頁碼Page,通過Sn、Page等信息拼裝待爬取列表頁url ;
[0020](25)下載解析列表頁步驟,即爬取列表頁,通過正則表達式匹配出列表頁內(nèi)的書目鏈接;
[0021](26)跳轉(zhuǎn)到爬取位置步驟,根據(jù)頁內(nèi)第幾項N,跳過已爬取書目,并確定本次爬取位置。
[0022]上述方法中,步驟(4)進一步包括:
[0023](41)下載圖書信息步驟,即爬取圖書頁面;
[0024](42)獲取圖書信息步驟,如果系統(tǒng)提供圖書的MARC信息,則通過正則表達式匹配出MARC信息,如果不提供MARC信息,則通過正則表達式匹配出圖書的基本信息;
[0025](43)圖書彳目息存儲步驟,將獲取的圖書彳目息保存。
[0026]本發(fā)明提出的針對圖書檢索信息進行斷點續(xù)采的系統(tǒng),包括以下模塊:
[0027](I)斷點信息加載模塊;
[0028](2)跳轉(zhuǎn)到相應(yīng)爬取位置模塊;
[0029](3)斷點信息保存模塊;
[0030](4)圖書信息下載處理模塊。
[0031]上述方法中,模塊(I)進一步包括:
[0032](11)讀取斷點信息文件模塊,斷點信息文件中保存了中斷點的索書號、頁碼和頁碼內(nèi)第幾項;
[0033](12)獲取斷點信息模塊,處理讀入的信息,得到斷點處索書號S,頁碼P,頁內(nèi)第幾項N。
[0034]上述方法中,模塊(2)進一步包括:
[0035](21)跳轉(zhuǎn)到檢索結(jié)果頁模塊,即根據(jù)索書號S和前一次爬取狀態(tài),確定本次檢索號Sn,跳轉(zhuǎn)到對應(yīng)檢索結(jié)果頁;
[0036](22)下載解析結(jié)果頁模塊,下載結(jié)果頁并通過正則表達式獲取查詢結(jié)果信息;
[0037](23)判斷是否有最大顯示記錄限制模塊,若無數(shù)量限制,則執(zhí)行模塊(24);若有數(shù)量限制,判斷當(dāng)前檢索結(jié)果是否超過最大顯示數(shù)目,如果超過,則縮小索書號的范圍,即把當(dāng)前索書號作為首位不變,在其后添加子位遍歷所有的情況,子位應(yīng)包含索書號中可能出現(xiàn)的所有字符,跳轉(zhuǎn)回模塊(21),重新檢索;如果沒有超過,則執(zhí)行模塊(24);[0038](24)跳轉(zhuǎn)到列表頁模塊,根據(jù)頁碼P和前一次爬取狀態(tài),確定本次采集頁碼Page,通過Sn、Page等信息拼裝待爬取列表頁url ;
[0039](25)下載解析列表頁模塊,即爬取列表頁,通過正則表達式匹配出列表頁內(nèi)的書目鏈接;
[0040](26)跳轉(zhuǎn)到爬取位置模塊,根據(jù)頁內(nèi)第幾項N,跳過已爬取書目,并確定本次爬取位置。
[0041]上述方法中,模塊(4)進一步包括:
[0042](41)下載圖書頁面模塊,即爬取圖書頁面;
[0043](42)獲取圖書信息模塊,如果系統(tǒng)提供圖書的MARC信息,則通過正則表達式匹配出MARC信息,如果不提供MARC信息,則通過正則表達式匹配出圖書的基本信息;
[0044](43)圖書信息存儲模塊,將獲取的圖書信息保存。
【專利附圖】
【附圖說明】
[0045]圖1為本發(fā)明針對圖書檢索信息進行斷點續(xù)采的方法的步驟流程圖;
[0046]圖2為斷點信息加載的步驟流程圖;
[0047]圖3為跳轉(zhuǎn)到相應(yīng)爬取位置的步驟流程圖;
[0048]圖4為圖書信息下載處理的步驟流程圖;
[0049]圖5為本發(fā)明針對圖書檢索信息進行斷點續(xù)采系統(tǒng)的結(jié)構(gòu)框圖。
【具體實施方式】
[0050]下面將結(jié)合附圖對本發(fā)明【具體實施方式】進行詳細說明。
[0051]圖1是本發(fā)明的一個實施方式的流程圖,包括以下步驟:
[0052]步驟S1:斷點信息加載,得到索書號S,頁碼S和頁內(nèi)第幾項N。
[0053]步驟S2:跳轉(zhuǎn)到相應(yīng)爬取位置,根據(jù)S、P、N逐步跳轉(zhuǎn)到采集位置。
[0054]步驟S3:斷點信息保存,在每次爬取圖書信息前將該書的索書號、頁碼和頁內(nèi)第幾項保存到文件中。
[0055]步驟S4:圖書信息的下載和處理,將處理后的圖書信息保存到文件系統(tǒng)中,重復(fù)執(zhí)行步驟S2。
[0056]下面將對每個步驟進行具體的說明:
[0057]步驟SI完成斷點信息加載,設(shè)置本次采集起始點。圖2給出了該方法的實施過程流程圖,具體操作步驟如下:
[0058]步驟11,讀取斷點信息文件。該文件中保存了采集中斷處的索書號、頁碼和頁內(nèi)第幾項。
[0059]步驟12,獲取斷點信息。從讀取的內(nèi)容中解析出索書號S、頁碼P和頁內(nèi)第幾項N。
[0060]步驟S2完成跳轉(zhuǎn)到爬取指定位置。圖3給出了該方法的實施過程流程圖,具體操作步驟如下:
[0061]步驟21,跳轉(zhuǎn)到檢索結(jié)果頁,根據(jù)斷點信息S和前一次爬取狀態(tài),確定本次采集的索書號Sn,根據(jù)Sn拼裝檢索結(jié)果頁url。[0062]步驟22,下載結(jié)果頁,并通過正則表達式匹配得到總書數(shù)Count和顯示限制信息。
[0063]步驟23,判斷是否有最大顯示記錄限制,如果有執(zhí)行步驟24,沒有則執(zhí)行步驟26。
[0064]步驟24,判斷當(dāng)前檢索結(jié)果是否超過最大顯示數(shù)目,如果超過則執(zhí)行步驟25,沒有超過則執(zhí)行步驟26。
[0065]步驟25,縮小索書號的范圍,即把當(dāng)前索書號作為首位不變,在其后添加子位遍歷所有的情況,子位應(yīng)包含索書號中可能出現(xiàn)的所有字符,跳轉(zhuǎn)回步驟21,重新檢索。
[0066]步驟26,跳轉(zhuǎn)到列表頁,根據(jù)斷點信息P和前一次爬取狀態(tài),確定本次采集的頁碼Page,根據(jù)Sn、Page和Count拼裝列表頁url。
[0067]步驟27,下載列表頁,并通過正則表達式匹配出書目鏈接。
[0068]步驟28,跳轉(zhuǎn)到列表頁,根據(jù)頁內(nèi)第幾項N,跳過已爬取書目,并確定本次爬取位置。
[0069]步驟S3完成斷點信息保存,在每次爬取圖書信息前將該書的索書號Sn、頁碼Page和頁內(nèi)第幾項Num寫入到斷點信息文件中。
[0070]步驟S4完成圖書信息的下載和處理。圖4給出了該方法的實施過程流程圖,具體操作步驟如下:
[0071]步驟41,下載索書號Sn,頁碼Page和頁內(nèi)第幾項Num對應(yīng)的圖書頁面;
[0072]步驟42,判斷系統(tǒng)是否提供MARC信息,提供則執(zhí)行步驟43,否則執(zhí)行步驟44 ;
[0073]步驟43,通過正則表達式匹配出MARC信息;
[0074]步驟44,通過正則表達式匹配出圖書的基本信息,一種實施方式是匹配出作者、出版社、出版年份、ISDN號等,以上是圖書基本信息的一種實施例,其他不同的實施例不構(gòu)成對本發(fā)明的限制;
[0075]步驟45,存儲圖書信息,一種實施方式是將處理后的圖書信息寫入以索書號命名的文件中。以上是圖書信息寫入的一種實施例,其他不同的實施例不構(gòu)成對本發(fā)明的限制;
[0076]以上結(jié)合附圖對針對圖書檢索信息進行斷點續(xù)采方法各模塊的【具體實施方式】進行了闡述。
[0077]另一方面,本發(fā)明還公開了一種針對圖書檢索信息進行斷點續(xù)采的系統(tǒng)。參照圖
5,該系統(tǒng)包括如下模塊:
[0078]模塊(I):斷點信息加載,得到索書號S,頁碼P和頁內(nèi)第幾項N。
[0079]模塊(2):跳轉(zhuǎn)到相應(yīng)爬取位置,根據(jù)S、P、N逐步跳轉(zhuǎn)到采集位置。
[0080]模塊(3):斷點信息保存,在每次爬取圖書信息前將該書的索書號、頁碼和頁內(nèi)第幾項保存到文件中。
[0081]模塊(4):圖書信息的下載和處理,將處理后的圖書信息保存到文件系統(tǒng)中。
[0082]上述針對圖書檢索信息進行斷點續(xù)采系統(tǒng)各模塊的實施例具有與方法實施例相同的技術(shù)效果,在此不再重復(fù)闡述。
[0083]綜上,本發(fā)明的斷點續(xù)采的核心為在每次爬取前記錄待采集書目的索書號、頁碼和第幾項,在程序中斷后,通過讀取記錄的中斷點確定本次采集的起始點,避免重復(fù)性工作,提高了采集效率。依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變之處。綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。[0084]以上所述的本發(fā)明實施方式,并不構(gòu)成對發(fā)明保護范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種針對圖書檢索信息進行斷點續(xù)采的方法,其特征在于,包括以下步驟: (1)斷點信息加載步驟; (2)跳轉(zhuǎn)到相應(yīng)爬取位置步驟; (3)斷點信息保存步驟; (4)圖書信息下載處理步驟,重復(fù)執(zhí)行步驟(2)。
2.如權(quán)利要求1所述的方法,其特征在于,步驟(1)進一步包括: (11)讀取斷點信息文件步驟,斷點信息文件中保存了中斷點的索書號、頁碼和頁碼內(nèi)第幾項; (12)獲取斷點信息步驟,處理讀入的信息,得到斷點處索書號S,頁碼P和頁內(nèi)第幾項N0
3.如權(quán)利要求1所述的方法,其特征在于,步驟(2)進一步包括: (21)跳轉(zhuǎn)到檢索結(jié)果頁步驟,即根據(jù)索書號S和前一次爬取狀態(tài),確定本次檢索號Sn,跳轉(zhuǎn)到對應(yīng)檢索結(jié)果頁; (22)下載解析結(jié)果頁步驟,下載結(jié)果頁并通過正則表達式匹配獲取查詢結(jié)果信息; (23)判斷是否限制顯示數(shù)量步驟,若無數(shù)量限制,則執(zhí)行步驟(24);若有數(shù)量限制,判斷當(dāng)前檢索結(jié)果是否超過最大顯示數(shù)目,如果超過,則縮小索書號的范圍,即把當(dāng)前索書號作為首位不變,在其后添加子位以遍歷所有的情況,子位應(yīng)包含索書號中可能出現(xiàn)的所有字符,跳轉(zhuǎn)回步驟(21),重新檢索;如果沒有超過,則執(zhí)行步驟(24); (24)跳轉(zhuǎn)到列表頁步驟,根據(jù)頁碼P和前一次爬取狀態(tài),確定本次采集頁碼Page,通過Sn> Page等信息拼裝待爬取列表頁url ; (25)下載解析列表頁步驟,即爬取列表頁,通過正則表達式匹配出列表頁內(nèi)的書目鏈接; (26 )跳轉(zhuǎn)到爬取位置步驟,根據(jù)頁內(nèi)第幾項N,跳過已爬取書目,并確定本次爬取位置。
4.如權(quán)利要求1所述的方法,其特征在于,在步驟(3)中,將斷點信息寫入斷點信息文件中,斷點信息包括索書號、頁碼和頁碼內(nèi)第幾項。
5.如權(quán)利要求1所述的方法,其特征在于,步驟(4)進一步包括: (41)下載圖書信息步驟,即爬取圖書頁面; (42)獲取圖書信息步驟,如果系統(tǒng)提供圖書的MARC信息,則通過正則表達式匹配出MARC信息,如果不提供,則通過正則表達式匹配出圖書的基本信息; (43)圖書信息存儲步驟,將獲取的圖書信息保存。
6.一種針對圖書檢索信息進行斷點續(xù)采的系統(tǒng),其特征在于,包括以下模塊: (1)斷點信息加載模塊; (2)跳轉(zhuǎn)到相應(yīng)爬取位置模塊; (3)斷點信息保存模塊; (4)圖書信息下載處理模塊。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,模塊(I)進一步包括: (11)讀取斷點信息文件模塊, 斷點信息文件中保存了中斷點的索書號、頁碼和頁碼內(nèi)第幾項; (12)獲取斷點信息模塊,完成獲取斷點信息索書號S,頁碼P,頁內(nèi)第幾項N。
8.如權(quán)利要求6所述的系統(tǒng),其特征在于,模塊(2)進一步包括: (21)跳轉(zhuǎn)到檢索結(jié)果頁模塊,即根據(jù)索書號S和前一次爬取狀態(tài),確定本次檢索號Sn,跳轉(zhuǎn)到對應(yīng)檢索結(jié)果頁; (22)下載解析結(jié)果頁模塊,下載結(jié)果頁并通過正則表達式獲取查詢結(jié)果信息; (23)判斷是否限制顯示數(shù)量模塊,若無數(shù)量限制,則執(zhí)行模塊(24);若有數(shù)量限制,判斷當(dāng)前檢索結(jié)果是否超過最大顯示數(shù)目,如果超過,則縮小索書號的范圍,即把當(dāng)前索書號作為首位不變,在其后添加子位遍歷所有的情況,子位應(yīng)包含索書號中可能出現(xiàn)的所有字符,跳轉(zhuǎn)回模塊(21),重新檢索;如果沒有超過,則執(zhí)行模塊(24); (24)跳轉(zhuǎn)到列表頁模塊,根據(jù)頁碼P和前一次爬取狀態(tài),確定本次采集頁碼Page,通過Sn> Page等信息拼裝待爬取列表頁url ; (25)下載解析列表頁模塊,即爬取列表頁,通過正則表達式匹配出列表頁內(nèi)的書目鏈接; (26)跳轉(zhuǎn)到爬取位置模塊,根據(jù)頁內(nèi)第幾項N,跳過已爬取書目,并確定本次爬取位置。
9.如權(quán)利要求6所述的方法,模塊(3)中,保存斷點信息,包括索書號、頁碼和頁碼內(nèi)第幾項。
10.如權(quán)利要求6所述的系統(tǒng),其特征在于,模塊(4)進一步包括: (41)下載圖書頁面模塊,即爬取圖書頁面; (42)獲取圖書信息模塊,如果系統(tǒng)提供圖書的MARC信息,則通過正則表達式匹配出MARC信息,如果不提供MARC信息,則通過正則表達式匹配出圖書的基本信息; (43)圖書信息存儲模塊,將獲取的圖書信息保存。
【文檔編號】G06F17/30GK103559297SQ201310562445
【公開日】2014年2月5日 申請日期:2013年11月12日 優(yōu)先權(quán)日:2013年11月12日
【發(fā)明者】肖波, 趙琳, 藺志青, 陸月明 申請人:北京郵電大學(xué)