组件介绍和合作开发

  http://www.cnblogs.com/MrHuo/p/MrHuoControls.html

简易数据采集组件

怎么说他是一个简易的数据采集组件呢?因为由于时间仓促,缺少从某位置开始到某位置结束这种模式的采集,暂且叫他简易数据采集组件吧。

直接进入主题。

准备

引用: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、关于采集过程中为什么不一次性输出结果,暂时没有更好的解决方法,所以暂无提供。

如有好的想法和建议,可以发送电子邮件到:admin@mrhuo.com,参与项目开发。

测试项目下载:

点击下载

最新文章

  1. python+selenium安装步骤
  2. Ubuntu如何以root身份登陆-(基于14.04版本)
  3. offsetParent、offsetTop、offsetLeft、offsetWidth、offsetHeight
  4. openstack 创建虚拟机
  5. demo_04绘制三角形
  6. 【转】Android的onCreateOptionsMenu()创建菜单Menu详解
  7. codevs 4827 妹子
  8. Hbase split的过程以及解发条件
  9. Java自学手记——接口
  10. struts2的java.lang.NoSuchMethodException异常处理(转)
  11. 对于Sobel算子的学习
  12. python第五十二天---第九周作业 类 Fabric 主机管理程序
  13. 20181013xlVba计算优秀率及合格率
  14. WordPress版微信小程序2.0版本发布
  15. Linux的学习 --corntab
  16. 初步实现GoQtTemplate
  17. 20155321 《信息安全系统设计》Linux多线程的深入学习
  18. (转)Tomcat配置调优与安全总结
  19. LoadRunner函数大全之中文解释
  20. MFC+WinPcap编写一个嗅探器之零(目录)

热门文章

  1. HTML5 中 div section article 的区别
  2. BZOJ 2115: [Wc2011] Xor
  3. pod应用--备用
  4. My advice to young people - Donald Knuth [video]
  5. inux xsel 拷贝复制命令行输出放在系统剪贴板上
  6. zoj2314 经典 无源汇有上下界最大流 并输出可行流
  7. bzoj3629[JLOI2014]聪明的燕姿
  8. Gwt ListBox选中自动触发事件
  9. IT English Collection(9) of Objective-C
  10. 如何单独编译Android源代码中的模块