ASP.NET通用采集程序GatherInfo的实现(原创)

时间:2022-08-31 14:50:18

         这是我面试的题目,借用了很多网上同仁的代码,如有冒犯,请海涵!

        现在工作真难找,我应聘的单位是http://www.027dns.net/,希望公司经理能给我上班的机会,我会很努力的,因为软件行业才是我的世界!我一个大学本科生当保安都成了同事们的笑话了,呵呵。

       这是我第一次求职软件行业,第一次做面试题目,第一次自己这么认真写博客文章,写的不好,大家请指正,我会进步的!

张素丰,转载请注明出处http://www.cnblogs.com/zhangsufeng/archive/2009/02/28/1400224.html

       屁话少说,正文开始:

        假如我们采集网址:http://info.laser.hc360.com/list/z_news_yw.shtml 上的新闻,要求采集标题、时间、内容、单篇文章如果有翻页则采集完全。

      这种类型的采集就是从指定网页获得新闻列表(即url),然后通过其url获得新闻详情,这是一种很常见的采集方式,有可能到很多页面上去采集,所以我们可以采用接口来构造基类。

     首先定义  IGatherInfo.cs

ASP.NET通用采集程序GatherInfo的实现(原创)ASP.NET通用采集程序GatherInfo的实现(原创)Code

 

         接口定义了三个成员:gatherTime采集时间,GatherUrlList()从指定网址抽取新闻Url,GatherNewsDetail()读取新闻详细内容。

      下面我们分析一下该程序中可能要用的公共方法,定义在 GatherInfoBase.cs

            1.时间转换函数string DateToString()

 

ASP.NET通用采集程序GatherInfo的实现(原创)ASP.NET通用采集程序GatherInfo的实现(原创)Code

 

            2.获取远程文件源代码 string GetRemoteHtmlCode(string url)

 

ASP.NET通用采集程序GatherInfo的实现(原创)ASP.NET通用采集程序GatherInfo的实现(原创)Code

 

            3.从HtmlCode截取字符串 string SniffwebCode(string code, string wordsBegin, string wordsEnd),用于抽取标题,时间,正文

 

ASP.NET通用采集程序GatherInfo的实现(原创)ASP.NET通用采集程序GatherInfo的实现(原创)Code

 

            4.替换HTML源代码 string RemoveHTML(string HtmlCode),用于将抽取到的正文内容去Html

 

ASP.NET通用采集程序GatherInfo的实现(原创)ASP.NET通用采集程序GatherInfo的实现(原创)Code

 

            5.更改文件名方法string changFileName(string filename, string addStr),利用其分页规律定义其增加的字符,

ASP.NET通用采集程序GatherInfo的实现(原创)ASP.NET通用采集程序GatherInfo的实现(原创)Code

             6.获取页面连接

ASP.NET通用采集程序GatherInfo的实现(原创)ASP.NET通用采集程序GatherInfo的实现(原创)Code


接下来我们定义一个NewsDeatil.cs

 

 

ASP.NET通用采集程序GatherInfo的实现(原创)ASP.NET通用采集程序GatherInfo的实现(原创)Code

 

     因为程序比较小,所以我采用access来存取数据,创建GatherInfo_laser_hc360.db,添加两个表

      GatherUrlsstrUrl  备注,strGahterTime 文本

     GatherInfosstrUrl  备注,upTime 文本,title 文本,content 备注

用数据集实现数据连接,代码中可见。

 

最后我们来实现对所给网址的采集,直接给出代码

 

 

ASP.NET通用采集程序GatherInfo的实现(原创)ASP.NET通用采集程序GatherInfo的实现(原创)Code