999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Web的網站信息采集系統的設計與實現

2008-12-31 00:00:00趙曉峰
電腦知識與技術 2008年16期

摘要:互聯網的迅速發展,使如何采集和利用Web信息越來越受關注。該文提出了基于Web的信息采集系統的設計方案,并利用.Net技術與數據庫技術,實現了對特定網站信息的采集與處理。

關鍵詞:信息檢索;正則表達式;ADO.NET

中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)16-21263-02

Design and Implementation of Information Collection System Based on Web

ZHAO Xiao-feng

(Department of Information Engineering,Wuxi Institute of Commerce,Wuxi 214153,China)

Abstract: With the rapid development of Internet, collecting and exploiting Web information is extensively addressed. This paper aims at implementing the collection and processing of the particular website, using .Net technology and database technology on the ground of scheme of web information collection.

Key words:information retrieval;regular expression;ADO.NET

1 引言

隨著WWW的發展,搜索引擎所提供的搜索和導航服務已經成為互聯網上非常重要的網絡服務,它的特點是能夠幫助我們很快找到所需的網站或資料。而某些情況下,我們瀏覽網站時關注的是幾個特定網站上的一類信息與數據,需要綜合這類信息進行數據挖掘,來進一步分析和使用;或者只是想從幾個網站上采集特定的信息,并在進行分類和統一格式后,存入本地數據庫,在自己網站上發布,從而提高信息及時性,減少工作量。

本文討論利用.Net技術、數據庫技術,設計Web網站信息的采集系統,并以某人才網站招聘信息的采集為例,說明實現過程。

2 信息采集系統的設計

2.1 采集系統設計的思路

首先,要采集指定網站的信息,必須了解信息的瀏覽方式,并記錄相應的訪問路徑。大多數網站采用動態網頁技術(ASP、PHP等)構建,通過參數傳遞來檢索數據庫,輸出對應信息的。例如人才招聘網的通常以單位名稱作為信息的起點鏈接,打開對應的網頁后,獲得單位具體招聘崗位鏈接,才能獲得詳細的招聘信息。

第二,采集所獲的信息必須存入本地數據庫,需要對幾個目標網站上的信息進行比較與分析,得到統一的數據模型,并設計相應的數據表,便于將來對不同網站采集來的信息統一進行結構化。

第三,考慮到可能會對網站進行多次采集,要避免重復的信息存入自己的數據庫內,同時重復處理已經存在的信息也會降低采集系統的工作效率。因此可以在記錄每條信息的同時,記錄其對應的URL或相關ID,便于驗證鏈接是否已經訪問過。

2.2 相關的技術

1)請求/響應模型

Web 應用是基于HTTP協議的客戶端/服務器請求響應機制的信息交換,當我們在瀏覽器輸入一個網址,需要經過建立連接、發送請求、發送響應、關閉連接4個步驟,才能獲得網頁信息。

在.Net框架的命名空間System.Net中提供了兩個類WebRequest和WebResponse,分別用來發送客戶端請求和獲取服務器返回的響應。

2)正則表達式

正則表達式提供了功能強大、靈活而又高效的方法來處理文本。正則表達式的模式匹配可以快速地分析大量的文本以找到特定的字符模式;提取、編輯、替換或刪除文本子字符串;或將提取的字符串添加到集合。

在.Net的命名空間System.Text.RegularExpressions提供Regex類構建正則表達式,同時還提供了相應的方法完成對字符串的匹配和過濾。

3)ADO.Net

采集系統得到的數據最終都要存入本地數據庫,在.NET框架中提供了數據庫訪問技術ADO.NET。它屏蔽了各類數據源之間的差異,以統一的接口進行訪問,由一組訪問各類數據源的類構成。為提高訪問效率,還為SQL Server提供了專用類,SqlConnection、SqlCommand、SqlDataReader、Dataset、SqlDataAdapter等,完成對SQL Server數據庫的訪問與數據處理。

2.3 算法描述

要完成信息的采集,首先要能夠在頁面中過濾出我們所需要的鏈接起點,然后系統模擬人工點擊流程來讀取信息。

1)根據訪問路徑創建一個C#自帶的REGEX類的對象,該類是用來進行正則表達式的匹配文本類。

2)通過WebRequest發送請求,WebResponse接取返回的響應,再通過StreamReader讀取返回的響應,形成包含網頁所有源碼的字符串。

3)對該字符串用正則表達式進行匹配,得到MatchCollection集合,存放了所有我們需要進一步讀取的目標鏈接。

4)遍歷集合的成員,訪問成員鏈接所指向的頁面,由StreamReader讀取信息后,使用正則表達式提取頁面信息。如果該頁是訪問路徑的終點,讀取相應的信息后,結構化所有數據存入數據庫;若只是獲取下一級鏈接,則轉1)。

3 人才招聘信息采集系統的實現

1)讀取招聘單位列表信息

打開web_url指定的網站頁面,并通過StreamReader對象讀取網頁源代碼存入字符串all_code中,便于正則表達式提取。

HttpWebRequest all_codeRequest = (HttpWebRequest)WebRequest.Create(web_url);

WebResponse all_codeResponse = all_codeRequest.GetResponse();

StreamReader the_Reader = new StreamReader(all_codeResponse.GetResponseStream(), System.Text.Encoding.Default);

string all_code = the_Reader.ReadToEnd();

the_Reader.Close();

2)提取招聘單位的超鏈列表

創建表達式字符串p,用它創建正則表達式對象re,并使用re.Matches方法返回all_code字符串所有匹配的超鏈集合hy。

string p = @\".+\";

Regex re = new Regex(p, RegexOptions.IgnoreCase);

MatchCollection hy = re.Matches(all_code);

for (int i = 0; i < hy.Count; i++)

{

….//讀取單位信息

…//獲得每個招聘單位發布的崗位鏈接集合gw

for(int j=0;j

{ …//使用正則表達式過濾,讀取崗位招聘人數、有效時間、學歷要求等

…//信息存入本地數據庫相關表中}

}

3)信息存入本地數據庫

為將信息存入本地數據庫對應的表,在SQL Server中設計了一個存儲過程InsertJobs,用來解決相應的數據插入問題。其中webid中存放ID是目標網站用于區分崗位的標識,InsertJobs根據其檢查該崗位是否需要插入數據庫,保證數據不重復。

SqlCommand cmd = new SqlCommand(\"InsertJobs\", con);

cmd.CommandType = CommandType.StoredProcedure;

try {

cmd.Parameters.AddWithValue(\"@companyname\", companyname);

……//招聘崗位信息

cmd.Parameters.Add(\"@webid\", SqlDbType.BigInt, 8); //記錄崗位ID

cmd.Parameters[\"@webid\"].Value = Convert.ToInt64(jid);

cmd.ExecuteNonQuery();

}

catch (Exception){continue;}

4 結束語

利用該設計方案,我們成功地對某人才網的信息進行了采集;其實,只需適當修改,就可用于采集其他特定網站的信息。由于針對特定的網站進行信息采集,并不需要像搜索爬蟲一樣對整個網站進行掃描,所以采集的速度比較快。要避免再次采集時對已采集信息的重復提取,可以在數據庫中存放已掃描的鏈接,在2.3算法第4步讀取超鏈內容前進行判斷,則可以提高再次采集時的工作效率。

參考文獻:

[1] 張帆,李琳娜,楊炳儒.基于Web的智能信息采集及處理系統設計與實現[J].計算機工程,2007,33(18).

[2] 徐遠超,劉江華,劉麗珍,等.基于Web的網絡爬蟲的設計與實現[J].微計算機信息,2007(21).

[3] 呂鐵強,于滿泉,孟慶發.基于網頁分塊的個性化信息采集的研究與設計[J].微電子學與計算機,2005,22(10).

主站蜘蛛池模板: 日韩精品高清自在线| 免费av一区二区三区在线| 日韩av高清无码一区二区三区| 国产尤物在线播放| 国产精品中文免费福利| 亚洲无码91视频| 伊人久久综在合线亚洲91| 99视频在线精品免费观看6| 被公侵犯人妻少妇一区二区三区| 成人综合在线观看| 精品成人一区二区| 成人一区专区在线观看| av一区二区人妻无码| 99久久性生片| 97人人模人人爽人人喊小说| 伊人AV天堂| 91成人在线免费视频| 国产精品自在自线免费观看| 久久夜夜视频| 伊人久久精品无码麻豆精品| 欧美高清视频一区二区三区| 日韩成人在线视频| 国产小视频网站| 欧美在线综合视频| 久久久久人妻一区精品| 欧美在线精品怡红院| 国产啪在线| 国产av剧情无码精品色午夜| 美女免费黄网站| 亚洲狠狠婷婷综合久久久久| 亚洲婷婷六月| 26uuu国产精品视频| 在线中文字幕日韩| 国产欧美亚洲精品第3页在线| 国产精品国产主播在线观看| 国产无码精品在线播放| 91麻豆精品国产91久久久久| 高清亚洲欧美在线看| 亚洲精品天堂自在久久77| 成人一区专区在线观看| 亚洲香蕉伊综合在人在线| 久久永久免费人妻精品| 欧美日韩第二页| 婷婷色狠狠干| 伦精品一区二区三区视频| 日韩在线播放欧美字幕| 全部免费毛片免费播放| 性色一区| 日韩激情成人| 亚洲AV无码乱码在线观看裸奔 | 91无码网站| 欧美区一区| 日韩不卡免费视频| 最新国产麻豆aⅴ精品无| 精品国产网| 精品国产污污免费网站| 97视频精品全国在线观看| 91区国产福利在线观看午夜| 亚洲码一区二区三区| 欧美激情伊人| 久久久久久久久久国产精品| 成人一区在线| 国产精品白浆在线播放| 网友自拍视频精品区| 国产白浆视频| 尤物特级无码毛片免费| 无码精品国产VA在线观看DVD| 日韩经典精品无码一区二区| 中文字幕无码电影| 婷婷六月在线| 国产福利一区视频| 宅男噜噜噜66国产在线观看| 欧美成一级| 久久综合五月| 午夜丁香婷婷| 中文国产成人精品久久| 中文字幕久久亚洲一区| 亚洲欧美h| 爱爱影院18禁免费| 日韩国产精品无码一区二区三区 | 精品国产成人三级在线观看| 国产欧美日韩综合一区在线播放|