布景
跟著的遍及,網絡信息正以極高的速度添加,在這么多數據中找到自己需求的信息是一件很繁瑣的工作,找到需求的信息后怎么獲取也是件費事的事。這就需求C#完成信息抓取程序來替代人工的操作。
所謂信息抓取程序,便是程序會依照用戶的要害詞或要害網站來搜集相應的信息,并供給使用戶想要的信息格局。
信息量的添加會帶來信息網站發布人員工作量的劇增,為完成信息發布體系完成信息自
動發布、削減工作人員工作量、即時盯梢最新信息,就需求主動信息供給程序,因而C#完成信息抓取程序應運而生。
方針
完成自界說網站信息分類抓取,存入本地數據庫、生成靜態頁面或其它用戶界說的信息結構網絡上信息抓取程序,并下載與信息相關的多媒體文件。
開發
方針站點結構剖析
本過程是精確抓取信息個要害。
首先要挑選更新頻率高的頁面做為抓取地址,然后剖析要抓取內容頁面url特色。
然后剖析要抓取信息頁面的元素特性,比方標題方位,內容方位 等網絡上信息抓取程序,得到定位符號點。
將以上信息寫成自己的配置文件或存到數據庫中。
每個網站都需求剖析,寫出獨自的配置文件,供抓取程序運用。
信息提取
依據配置文件取得要抓取頁面url,運用類獲取內容:
- //獲取http頁面函數
- 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="過錯:"+exp.Message;
- }
- returnstrResult;
- }
以上介紹C#完成信息抓取
【修改引薦】
C#特有線程功用淺談C#目標和調集淺析C# FTP 目標C#分部辦法的使用場景概述C#線程功用