本篇内容主要讲解“基于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#数据采集”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!