【干货】.NET开发通用组件发布(三) 简易数据采集组件
简易数据采集组件
怎么说他是一个简易的数据采集组件呢?因为由于时间仓促,缺少从某位置开始到某位置结束这种模式的采集,暂且叫他简易数据采集组件吧。
直接进入主题。
准备
引用:MrHuo.Controls.Gather;
测试效果
1、我的测试代码是这样的:
using MrHuo.Controls.Gather; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Gather gather = new Gather() { RegexPattern = @"(?is)<a[^>]*?href=([‘""]?)(?<url>[^‘""\s>]+)\1[^>]*>(?<text>(?:(?!</?a\b).)*)</a>", Url = "http://www.mrhuo.com" }; gather.OnBeginCollect += gather_OnBeginCollect; gather.OnCollecting += gather_OnCollecting; gather.OnEndCollect += gather_OnEndCollect; gather.OnError += gather_OnError; gather.Collect(); Console.ReadLine(); } static void gather_OnError(Exception obj) { Console.WriteLine("采集过程中发生错误:" + obj.Message); } static void gather_OnEndCollect() { Console.WriteLine("采集结束."); } static void gather_OnCollecting(System.Text.RegularExpressions.Match obj) { Console.WriteLine("正在采集:" + obj.Groups["text"].Value + "(" + obj.Groups["url"].Value + ")"); } static void gather_OnBeginCollect() { Console.WriteLine("采集开始..."); } } }
2、采集结果:
3、关于采集过程中为什么不一次性输出结果,暂时没有更好的解决方法,所以暂无提供。
如有好的想法和建议,可以发送电子邮件到:[email protected],参与项目开发。
测试项目下载:
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。