`
lolocomee
  • 浏览: 16316 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

C# 采集1-任务

阅读更多

一段时间没接触C#了,最近三天写了一个采集网页的工具,来填充一下网页的内容。

先介绍程序主要有三个实体:采集的任务、文章列表、文章。

 

任务:为了传输,共享方便任务将存在xml中。

    class Task
    {
        private string name;
        /// <summary>
        /// 采集任务名称
        /// </summary>
        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        private string url;
        /// <summary>
        /// 采集任务列表地址
        /// </summary>
        public string Url
        {
            get { return url; }
            set { url = value; }
        }

        private string ecode;
        /// <summary>
        /// 采集任务站点编码
        /// </summary>
        public string Ecode
        {
            get { return ecode; }
            set { ecode = value; }
        }

        private string category;
        /// <summary>
        /// 采集任务列表栏目名
        /// </summary>
        public string Category
        {
            get { return category; }
            set { category = value; }
        }

        private string listareaf;
        /// <summary>
        /// 采集任务列表区域开始标志
        /// </summary>
        public string ListAreaf
        {
            get { return listareaf; }
            set { listareaf = value; }
        }

        private string listareae;
        /// <summary>
        /// 采集任务列表区域结束标志
        /// </summary>
        public string ListAreae
        {
            get { return listareae; }
            set { listareae = value; }
        }

        private string rextitle;
        /// <summary>
        /// 采集任务文章标题和链接的正则
        /// </summary>
        public string RexTitle
        {
            get { return rextitle; }
            set { rextitle = value; }
        }

        private string contentf;
        /// <summary>
        /// 采集任务文章内容区域开始标志
        /// </summary>
        public string Contentf
        {
            get { return contentf; }
            set { contentf = value; }
        }

        private string contente;
        /// <summary>
        /// 采集任务文章内容区域结束标志
        /// </summary>
        public string Contente
        {
            get { return contente; }
            set { contente = value; }
        }

        private string articlef;
        /// <summary>
        /// 采集任务文章内容开始标志
        /// </summary>
        public string Articlef
        {
            get { return articlef; }
            set { articlef = value; }
        }

        private string articlee;
        /// <summary>
        /// 采集任务文章内容结束标志
        /// </summary>
        public string Articlee
        {
            get { return articlee; }
            set { articlee = value; }
        }

        private string authorf;
        /// <summary>
        /// 采集任务文章作者开始标志
        /// </summary>
        public string Authorf
        {
            get { return authorf; }
            set { authorf = value; }
        }

        private string authore;
        /// <summary>
        /// 采集任务文章作者结束标志
        /// </summary>
        public string Authore
        {
            get { return authore; }
            set { authore = value; }
        }

        private string sourcef;
        /// <summary>
        /// 采集任务文章来源开始标志
        /// </summary>
        public string Sourcef
        {
            get { return sourcef; }
            set { sourcef = value; }
        }

        private string sourcee;
        /// <summary>
        /// 采集任务文章来源结束标志
        /// </summary>
        public string Sourcee
        {
            get { return sourcee; }
            set { sourcee = value; }
        }

        private string datef;
        /// <summary>
        /// 采集任务文章日期开始标志
        /// </summary>
        public string Datef
        {
            get { return datef; }
            set { datef = value; }
        }

        private string datee;
        /// <summary>
        /// 采集任务文章日期结束标志
        /// </summary>
        public string Datee
        {
            get { return datee; }
            set { datee = value; }
        }


        private string state;
        /// <summary>
        /// 采集任务状态
        /// </summary>
        public string State
        {
            get { return state; }
            set { state = value; }
        }

    }

 文章列表:取得以后会存在本地access数据库

class Urls
    {
        private string title;
        /// <summary>
        /// 标题
        /// </summary>
        public string Title
        {
            get { return title; }
            set { title = value; }
        }

        private string url;
        /// <summary>
        /// 链接
        /// </summary>
        public string Url
        {
            get { return url; }
            set { url = value; }
        }

        private int oid;
        /// <summary>
        /// id
        /// </summary>
        public int Oid
        {
            get { return oid; }
            set { oid = value; }
        }

        private int isc;
        /// <summary>
        /// 是否已采集
        /// </summary>
        public int Isc
        {
            get { return isc; }
            set { isc = value; }
        }

        private string name;
        /// <summary>
        /// 任务名,和采集任务多对一关系
        /// </summary>
        public string Name
        {
            get { return name; }
            set { name = value; }
        }
    }

 文章:也将其存在本地access数据库

class Article
    {
        private string category;
        /// <summary>
        /// 文章类别
        /// </summary>
        public string Category
        {
            get { return category; }
            set { category = value; }
        }
        private string url;
        /// <summary>
        /// 文章连接地址
        /// </summary>
        public string Url
        {
            get
            {
                return url;
            }
            set
            {
                url = value;
            }
        }
        private string title;
        /// <summary>
        /// 文章标题
        /// </summary>
        public string Title
        {
            get
            {
                return title;
            }
            set
            {
                if (value == "" || value.Length <= 0)
                {
                    throw new ApplicationException("文章的标题不能为空!");
                }
                title = value;
            }
        }
        private int views;
        /// <summary>
        /// 文章浏览次数
        /// </summary>
        public int Views
        {
            get
            {
                return views;
            }
            set
            {
                views = value;
            }
        }
        private int replys;
        /// <summary>
        /// 文章评论次数
        /// </summary>
        public int Replys
        {
            get
            {
                return replys;
            }
            set
            {
                replys = value;
            }
        }
        private string postdate;
        /// <summary>
        /// 文章发布日期
        /// </summary>
        public string Postdate
        {
            get
            {
                return postdate;
            }
            set
            {
                postdate = value;
            }
        }
        private string author;
    /// <summary>
    /// 文章作者
    /// </summary>
    public string Author
    {
      get
      {
        return author;
      }
      set
      {
        author = value;
      }
    }
        private string source;
        /// <summary>
        /// 文章来源
        /// </summary>
        public string Source
        {
            get
            {
                return source;
            }
            set
            {
                source = value;
            }
        }


        private string content;
        /// <summary>
        /// 文章内容
        /// </summary>
        public string Content
        {
            get
            {
                return content;
            }
            set
            {
                content = value;
            }
        }
        private int oid;
        public int Oid
        {
            get
            {
                return oid;
            }
            set
            {
                oid = value;
            }
        }
    }
 
分享到:
评论

相关推荐

    C# 数据采集系统 智能采集 数据分析 整套源码

    在数据采集系统中,C# 可用于构建稳定的后台服务,处理大量数据的读取、存储和处理任务。 其次,数据采集(SmartSpider)是系统的关键功能之一。数据采集通常涉及网络爬虫技术,用于自动化地从互联网上抓取信息。C#...

    Daq_Test.zip_C# ni8501卡_DAQ C#_NI采集程序_采集

    1. **c#_ni8501卡**:指的是C#代码库或者示例代码,可能用于驱动和控制ni8501数据采集卡。 2. **daq_c#**:表示这是使用C#实现的数据采集(DAQ)系统。 3. **ni采集程序**:指的是由National Instruments提供的软件...

    Balser通过SDK+Visionpro实现图像采集c#源码--.zip

    Balser SDK 和 National Instruments的VisionPro是两个在计算机视觉领域广泛应用的工具,它们结合使用能够高效地实现图像采集和处理任务。在这个项目中,我们看到一个使用C#编程语言实现的源码,它展示了如何利用这...

    C#毕业设计-测井数据采集系统.zip

    在本项目中,C#被选为实现数据采集系统的主要工具,因为其强大的.NET框架支持,提供了丰富的类库和组件,便于进行图形用户界面(GUI)设计、数据库交互以及网络通信等任务。 测井数据采集系统通常包括以下几个关键...

    c#网络爬虫-采集51job数据(html分析基于HtmlAgilityPack).rar

    标题中的"C#网络爬虫-采集51job数据(html分析基于HtmlAgilityPack)"表明这个项目是使用C#编程语言实现的一个网络爬虫,它的主要任务是抓取51job网站上的数据。51job是中国知名的招聘网站,包含了丰富的职位信息、...

    c#采集摄像头图像源码

    - 为了保证用户界面的流畅性,图像采集通常会在后台线程或异步任务中进行,使用C#的Task或async/await关键字可以轻松实现。 6. **权限管理:** - 从Windows 8开始,访问摄像头需要用户的明确许可。因此,确保应用...

    C#数据采集例子

    - **线程池**: 利用ThreadPool,可以高效地并发处理多个数据采集任务。 - **Task Parallel Library (TPL)**: 提供了并行编程的高级API,如Parallel.Foreach和Task.Run。 7. **实际案例** - 网页登录抓取:模拟...

    DAQandVC.zip_DAQ VC_NI-DAQ_NI采集卡 C#_VC调用NI采集卡_daq采集卡FRM11

    2. **创建数据采集任务**:在代码中,通过调用DAQmx API创建一个数据采集任务,指定DAQ设备,如FRM11,并设定采集参数,如采样率1000Hz。 3. **配置输入通道**:设置DAQ设备的输入通道,比如模拟输入,定义电压范围...

    C#图像采集

    1. **C#编程基础**:C#是Microsoft开发的一种现代、类型安全的编程语言,适用于构建各种类型的应用程序,包括桌面应用、Web应用和移动应用。它支持面向对象编程,拥有丰富的类库和强大的.NET框架,使得图像处理变得...

    Balser通过Halcon实现图像采集C#源码-.zip

    它们的相机通常具备高速、高分辨率和稳定的性能,适合于精确的图像采集任务。 Halcon则是MVTec公司开发的一款强大的机器视觉软件,提供了全面的图像处理算法,包括形状匹配、模板匹配、OCR、条形码识别、2D/3D测量...

    C#采集器

    【C#采集器】是一种基于C#编程语言开发的数据采集工具,主要功能是抓取互联网上的各种网页内容,实现信息的自动化收集与处理。在给定的文件列表中,我们可以看到一些关键的文件,这些文件构成了一个简单的C# Web应用...

    C#上位机电表数据采集.zip

    综上所述,这个C#上位机电表数据采集项目涉及了C#编程、上位机应用开发、电表通信协议、数据采集与处理、定时任务设定以及数据库管理等多个IT领域的重要知识点。通过深入学习和理解这些内容,开发者可以构建出更先进...

    初学者C#视频采集例子

    本资源针对初学者提供了几个C#实现的视频采集示例,这将帮助新手理解如何利用C#进行多媒体处理,特别是视频捕获。下面我们将深入探讨这些知识点。 首先,我们来看"DirectShow"这个子目录。DirectShow是微软开发的一...

    C# 声音(音频)采集 LumiSoft VS2010

    在C#编程环境中,声音(音频)采集是一个常见的任务,特别是在开发多媒体应用或者实时通信软件时。本项目基于LumiSoft库,在Visual Studio 2010环境下实现音频采集功能,充分利用了C#语言的强大特性和LumiSoft库提供...

    C#三菱CNC通讯,用于C#与三菱数控系统的数据采集

    C#的`async/await`关键字可以帮助我们编写非阻塞的异步代码,使得在等待通信完成的同时,程序可以执行其他任务。 4. **错误处理**:在通信过程中可能会遇到各种问题,如连接中断、数据传输错误等。因此,良好的错误...

    c# 采集核心源码 获取超连接

    下面将详细讲解C#采集核心源码及其相关知识点。 一、C#基础 C#是一种面向对象的编程语言,由微软公司开发,它支持类、接口、泛型等现代编程特性。在进行网络数据采集时,C#的强类型和丰富的类库使得代码更易于维护...

    C#采集网页数据小工具

    总结来说,创建"C#采集网页数据小工具"涉及以下关键技术点: 1. 使用HtmlAgilityPack库解析和处理HTML。 2. 应用XPath查询来定位和提取所需数据。 3. 设计用户界面,允许用户输入XPath表达式。 4. 存储和操作采集到...

    C# 双色球网页数据采集

    在IT行业中,数据采集是一项重要的任务,特别是在数据分析和预测领域。本项目名为“C# 双色球网页数据采集”,其目标是收集自2003年以来双色球彩票的历史销售数据。双色球是中国非常流行的一种彩票玩法,通过这个...

    C# Modbus TCP/IP数据采集程序

    5. **定时任务**:如果需要持续采集,可以设置定时器,定期执行数据采集和存储操作。 6. **日志记录**:为了便于调试和问题排查,应记录操作日志,包括成功的数据采集和遇到的错误。 总的来说,"C# Modbus TCP/IP...

    C#PCI-6221Code.rar

    - 创建任务:使用`Task.Create()`方法创建一个数据采集任务。 - 添加通道:调用`AddAnalogInputChannel()`方法,指定通道类型(差分或单端),通道编号和范围。 - 设置采样率和数据缓冲区:设置`SampleRate`属性...

Global site tag (gtag.js) - Google Analytics