【干货】.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],参与项目开发。

 

测试项目下载:

点击下载

 

 

【干货】.NET开发通用组件发布(三) 简易数据采集组件,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。