摘 要:隨著互聯(lián)網(wǎng)的快速發(fā)展,計算機Web網(wǎng)站的信息更新速度越來越快,依靠手工方式進行操作工作量大,效率低。計算機技術(shù)實現(xiàn)網(wǎng)站信息的自動采集具有效率高,人工干預(yù)少的優(yōu)點,采集好的信息可以存入數(shù)據(jù)庫中,再結(jié)合Web技術(shù)操作數(shù)據(jù)庫,實現(xiàn)站點信息的自動更新。
關(guān)鍵詞:計算機Web網(wǎng)站;信息采集設(shè)計與實現(xiàn)
中圖分類號:TP311.52
社會的發(fā)展對信息技術(shù)的需求正在進一步的強化,信息全球化發(fā)展影響下互聯(lián)網(wǎng)技術(shù)為人們獲取信息資源帶來了更加便利,信息資源傳輸渠道對人們生活的影響越來越重要。在信息時代,人們?nèi)绻軌蚣皶r獲取信息資源就能夠提升自身的經(jīng)濟效益。隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,搜索引擎在互聯(lián)網(wǎng)技術(shù)的應(yīng)用上能夠更好的實現(xiàn)網(wǎng)絡(luò)服務(wù),為用戶提供專業(yè)的導(dǎo)航服務(wù)。幫助人們能夠及時的獲取信息資源。本文主要針對計算機Web網(wǎng)站信息采集的設(shè)計與實現(xiàn),對信息資源的系統(tǒng)采集進行說明。
1 計算機Web網(wǎng)站信息采集的設(shè)計思路
采集定位于web站點定向采集,需先確定采集對象的web實現(xiàn)方式,現(xiàn)有站點以asp.net、asp或php為主,明確信息資源的頁面生成規(guī)則,并且能自動建立相應(yīng)的訪問路徑。通過采集對象的數(shù)據(jù)特點建立相應(yīng)的數(shù)據(jù)庫,設(shè)定采集參數(shù),將搜集到的信息資源存儲入數(shù)據(jù)庫,完成對信息資源的搜集工作。
網(wǎng)站中的信息資源可能會進行多次搜集,數(shù)據(jù)可能被多次處理。在進行信息資源記錄的過程中要建立URL標(biāo)示或者ID,這樣能夠識別再次訪問的查詢工作,從而減少工作,提高效率。將搜集到的信息資源輸入到數(shù)據(jù)庫時,應(yīng)進行對比篩選工作,分析潛在的數(shù)據(jù)關(guān)系,查偽去重,建立具有統(tǒng)一性質(zhì)的數(shù)據(jù)表,方便后續(xù)工作。根據(jù)不同信息資源內(nèi)容按照各自的性質(zhì)進行統(tǒng)一結(jié)構(gòu)化調(diào)整,完善信息的采集結(jié)果。
所有的Web頁面都是基于Http協(xié)議的Request/Response機制,可以分析Request請求時附帶的參數(shù)以及Response響應(yīng)時頁面地址的規(guī)律,找到頁面鏈接的規(guī)律,從而創(chuàng)建C#中Regex類的對象。微軟.Net框架中,系統(tǒng)命名空間中提供的類webRequest可以發(fā)送客戶端請求,webResPonse可獲取返回的響應(yīng)。
對于信息的分析和篩選可以用正則表達式來完成。正則表達式(Regular expressions)是一套功能非常強大的語法匹配規(guī)則。通過它可以從字符中提取所需要的數(shù)據(jù)信息。在.Net中,其類庫是Regex。Regex是從字符窗中查找匹配字符串的應(yīng)用類.。System.Text.RegularExpressions能為Regex類生成正則表達式。
對于數(shù)據(jù)采集后的存儲,采用sqlsever數(shù)據(jù)庫。并使用.net平臺下成熟的ado.net數(shù)據(jù)庫訪問技術(shù)。ado.net數(shù)據(jù)操作技術(shù)被大量應(yīng)用于Web應(yīng)用程序中,可讓開發(fā)人員以一致的方式存取資料來源,為采集后數(shù)據(jù)的一致性提供了保障。
計算機Web網(wǎng)站信息采集的設(shè)計與實現(xiàn)的算法,需要先對鏈接進行分析,完成系統(tǒng)模擬人工流程的讀取工作。建立相應(yīng)的訪問路徑,實現(xiàn)REGEX類自帶對象的實例化,主要依靠正則表達式來完成相應(yīng)的匹配篩選工作,匹配文本能夠通過這種形式完整的表達出來,并且在webRequest的推動下實現(xiàn)發(fā)送,用WebResponse進行接收,在StreamReader的引導(dǎo)下實現(xiàn)資源信息的讀取。最后通過sqlserver專用類的操作存儲于sql serve數(shù)據(jù)庫中。這種方法形成的網(wǎng)頁字符串,符合計算機Web網(wǎng)站信息采集的要求。
2 計算機Web網(wǎng)站信息采集的實現(xiàn)
2.1 定位站點URL地址,獲取網(wǎng)頁源碼
Url地址可以根據(jù)采集參數(shù)來獲取,對于多個頁面,可以通過頁面生產(chǎn)規(guī)則批量設(shè)置。可利用httpwebrequest的post方法在網(wǎng)上取得IP的相應(yīng)UrL地址。將獲得的網(wǎng)頁代碼寫入all_content提供給正則表達式分析篩選。關(guān)鍵代碼如下:
HttpwebRequest all_content Request=(HttpWebRequest)WebRequest.Create(url);
WebResponse all_contentResponse=all_contentRequest.GetResponse();
StreamReader reader=newStreamReader(all_contentResponse.GetResponseStream(),System.Text.Encoding.Default);
stringall_content=reader.ReadToEnd();
reader.close();
2.2 數(shù)據(jù)分析篩選
使用C#的正則表達式對數(shù)據(jù)進行規(guī)則設(shè)置,篩選有用數(shù)據(jù)。使用正則表達式對象filter.Matches方法返回all_content字符串所有匹配的超鏈集合all_link。
String pword=@;
Regex.filterword=newRegex(pword,Regex0Ptions.IgnoreCase);
MatchCollection.all_link=re.matehes(all_content);
for(int i=0;i {…///根據(jù)采集參數(shù)設(shè)置信息讀取模塊 for(int j=0;j++) {…///根據(jù)正則表達式對數(shù)據(jù)篩選過濾} } 2.3 數(shù)據(jù)存儲 采集到的信息經(jīng)分析篩選后存儲入本地數(shù)據(jù)庫中,數(shù)據(jù)庫中表預(yù)先設(shè)計好,可以編寫存儲過程repeatcheck實現(xiàn)數(shù)據(jù)重復(fù)檢測,表中加入suitid字段判斷是否已采集過。 Sq1Command cmd=new Sq1Command(“Repeatcheck”,con); cmd.CommandType=CommandType.StoredProeedure; try{cmd.Parameters.Addwithvalue(“@name,name); cmd.Parameters.Add(“@suitid”,Sq1DbTtype.Biglnt,8); //判斷是否已采集過 cmd.Parameters[“@suitid”].value=Convert.Tolnt64(jid); cmd.ExecuteNonQuery();} catch(Exception){continue;} 3 結(jié)束語 計算機Web網(wǎng)站信息采集的設(shè)計與實現(xiàn)有較廣應(yīng)用前景,針對網(wǎng)站進行搜索掃描可以提高維護工作的效率,是信息系統(tǒng)網(wǎng)站建設(shè)趨勢。通過對數(shù)據(jù)的有效整理,并且根據(jù)數(shù)據(jù)的特點進行選擇,在數(shù)據(jù)庫相應(yīng)配置后,將搜集分析選擇后的信息資源按照要求存儲入數(shù)據(jù)庫。再根據(jù)應(yīng)用需求開發(fā)相應(yīng)展示頁面,可實現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)庫在B/S系統(tǒng)上的應(yīng)用。 參考文獻: [1]宋凱倫,邱光華.基于Web的定向信息采集系統(tǒng)的設(shè)計與實現(xiàn)[J].福建電腦,2011(11). [2]左智斌.正則表達式再網(wǎng)頁數(shù)據(jù)采集中的應(yīng)用于研究[D].內(nèi)蒙古大學(xué),2014. [3]劉斌,張曉婧.Web信息抽取系統(tǒng)的設(shè)計[J].微型電腦應(yīng)用,2013(03). 作者簡介:丁永賢,男,寧夏人,講師,在讀研究生,研究方向:Web應(yīng)用開發(fā)、計算機網(wǎng)絡(luò)技術(shù)應(yīng)用。 作者單位:銀川能源學(xué)院,銀川 750002