浅析基于ASP.NET网页的C#数据采集
来源:互联网 发布:access数据库心得体会 编辑:程序博客网 时间:2024/05/18 02:26
浅析基于ASP.NET网页的C#数据采集
- 在好奇的动力下,开始疯狂的查阅以及学习关于网页采集,数据采集等相关信息。不过网上大部都是ASP的和PHP的,关于.NET的很少。无奈之下只要硬着头皮学习。这里简单介绍下基于ASP.NET网页的C#数据采集。
经过几天的努力,最终还是给我研究出来了。心里还是挺高兴的袄。其实网页采集也没有用到什么高深的技术,都是些普普通通的技术,只不过效果比较神奇,就会让人感觉到整个都比较深奥,如果你想学习.NET的数据采集,以及思路,那么请看完。
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");
- }
以上就是C#数据采集的核心代码,关于正则表达式我在这里就不详细讲解了(其实正则表达式我也是菜鸟哈)。
C#数据采集结语:
大部分看似很神奇的功能,都是我们平常所用的功能拼加起来的,其实仔细分析起来也没有多大的难度,只要能够认真研究。
- 浅析基于ASP.NET网页的C#数据采集
- asp.net/C#网页数据采集
- asp.net/C#网页数据采集
- ASP.NET取网页数据《数据采集》
- Asp.net 数据采集
- Asp.net 数据采集
- asp.net(c#)做一个网页数据采集工具
- 使用PHP的CURL模拟POST采集开了viewstate的asp.net网页数据
- 使用PHP的CURL模拟POST采集开了viewstate的asp.net网页数据
- c#网页数据抓取/asp.net网页数据抓取
- 用Asp.Net c#写的采集小例子
- ASP.NET中用C#实现的采集代码:
- 魏言ASP.NET数据采集封装类,封装了所有数据采集需要的方法
- 魏言ASP.NET数据采集封装类,封装了所有数据采集需要的方法
- asp.net的抓取网页数据源码
- 采集一个网页的数据
- C# 网页信息采集(数据访问)
- C#网页数据采集(一)HtmlAgilityPack
- 黄泉路上本本作伴:英两名学生利用电脑自杀
- 第一个网站 快乐的需求分析
- js文件中显示乱码的问题
- 三网融合方案下发 试点城市名单本月揭晓
- 基于Visual C++2010 与office2010开发办公自动化(22)- 动态创建播放幻灯片
- 浅析基于ASP.NET网页的C#数据采集
- BI-About BEx Web Application Web Item : Chart
- 才开的博客
- excel公式:COUNTIF函数常规用法
- 仓库结构设计研究
- 一起学 Microsoft AJAX Library
- SQL数据库开发技巧
- 北京我来了……
- 快速排序