C#實(shí)現(xiàn)Internet信息抓取
背景
隨著Internet的普及,網(wǎng)絡(luò)信息正以極高的速度增長,在這么多數(shù)據(jù)中找到自己需要的信息是一件很繁瑣的事情,找到需要的信息后如何獲取也是件麻煩的事。這就需要C#實(shí)現(xiàn)Internet信息抓取程序來代替人工的操作。
所謂Internet信息抓取程序,就是程序會(huì)按照用戶的關(guān)鍵詞或關(guān)鍵網(wǎng)站來收集相應(yīng)的信息,并提供給用戶想要的信息格式。
信息量的增加會(huì)帶來信息網(wǎng)站發(fā)布人員工作量的劇增,為實(shí)現(xiàn)信息發(fā)布系統(tǒng)實(shí)現(xiàn)信息自
動(dòng)發(fā)布、減少工作人員工作量、即時(shí)跟蹤最新信息,就需要自動(dòng)信息提供程序,因此C#實(shí)現(xiàn)Internet信息抓取程序應(yīng)運(yùn)而生。
目標(biāo)
實(shí)現(xiàn)自定義網(wǎng)站信息分類抓取,存入本地?cái)?shù)據(jù)庫、生成靜態(tài)頁面或其它用戶定義的信息結(jié)構(gòu),并下載與信息相關(guān)的多媒體文件。
開發(fā)
目標(biāo)站點(diǎn)結(jié)構(gòu)分析
本步驟是準(zhǔn)確抓取信息個(gè)關(guān)鍵。
首先要選擇更新頻率高的頁面做為抓取地址,然后分析要抓取內(nèi)容頁面url特點(diǎn)。
然后分析要抓取信息頁面的元素特性,比如標(biāo)題位置,內(nèi)容位置 等,得到定位標(biāo)記點(diǎn)。
將以上信息寫成自己的配置文件或存到數(shù)據(jù)庫中。
每個(gè)網(wǎng)站都需要分析,寫出單獨(dú)的配置文件,供抓取程序使用。
信息提取
根據(jù)配置文件取得要抓取頁面url,使用HttpWebRequest類獲取內(nèi)容:
- //獲取http頁面函數(shù)
- publicstringGet_Http(stringa_strUrl,inttimeout)
- {
- stringstrResult;
- try
- {
- HttpWebRequestmyReq=(HttpWebRequest)HttpWebRequest.Create(a_strUrl);
- myReq.Timeout=timeout;
- HttpWebResponseHttpWResp=(HttpWebResponse)myReq.GetResponse();
- StreammyStream=HttpWResp.GetResponseStream();
- StreamReadersr=newStreamReader(myStream,Encoding.Default);
- StringBuilderstrBuilder=newStringBuilder();
- while(-1!=sr.Peek())
- {
- strBuilder.Append(sr.ReadLine()+"\r\n");
- }
- strResult=strBuilder.ToString();
- }
- catch(Exceptionexp)
- {
- strResult="錯(cuò)誤:"+exp.Message;
- }
- returnstrResult;
- }
以上介紹C#實(shí)現(xiàn)Internet信息抓取
【編輯推薦】