基于ASP.NET网页如何实现C#数据采集

本篇内容主要讲解“基于ASP.NET网页如何实现C#数据采集”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于ASP.NET网页如何实现C#数据采集”吧!

C#数据采集大体可以分为两部曲:

一部曲:

因为要采集别人网页上的内容,所有我们先要得到要采集网页上的html代码,获取html代码还是比较简单。利用WebClient的DownloadData(url)得带byte数组,然后在转换成string字符串。

具体代码如下:

///<summary>  ///获取网页源代码  ///</summary>  ///<paramname="url">URL路径</param>  ///<paramname="encoding">编码方式</param>  publicstringGetHTML(stringurl,stringencoding)  {  WebClientweb=newWebClient();  byte[]buffer=web.DownloadData(url);  returnEncoding.GetEncoding(encoding).GetString(buffer);  }

二部曲:

现在我们得到了目标网页的html代码,那么我们就开始时得扣取我们想要的数据。扣取数据无疑就要用到强大的正则表达式了。利用正则表达式的匹配来获取我们要的内容,这里可以过滤掉制定的html代码,剩下的就是内容了。

C#数据采集具体代码如下:

Htmlhtml=newHtml();  //得到指定页面的html代码,***个参数为url(貌似都知道),第二个是目标网页的编码集  stringhtmlCode=html.GetHTML("http://gvod.tom59.cn/List.asp?ClassId=3","gb2312");  //正则表达式  Regexregexarticles=newRegex("<td\\s+height=\"\\d+\"><a\\s+href=\".+DataId=(?<id>\\d+)\"\\s+target=\"_blank\">(?<title>.+)</a>.*</td>");  //所有匹配表达式的内容  MatchCollectionmarticles=regexarticles.Matches(htmlCode);  ///遍历匹配内容  foreach(Matchminmarticles)  {  Console.Write("标题:"+m.Groups["title"].Value+"\n");  Console.Write("id:"+m.Groups["id"].Value+"\n");  Console.Write("\n");  }

到此,相信大家对“基于ASP.NET网页如何实现C#数据采集”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!