火车数据采集平台是一款通用型数据采集程序框架。它包含了数据采集最常用的计划任务,数据发布,正文识别、OCR图形图像识别,采集入库等模块,可以支持其它采集软件快速稳定在平台上使用。火车采集器平台定义了统一的接口规范并提供了大量的api,用户可以很方便的开发自己的应用并在该平台上运行,可以减少开发上时间和成本。目前平台上有官方自带火车采集器。
1.火车采集器系统需求
操作系统:Win7,WinXP,Win2008,Win2003,Windows 2000等windows内核的操作系统上
硬件配置:CPU主频1.6G以上,内存1G以上,分辨率至少为1024*768,网络带宽1Mbps以上。
必要组件:软件需要安装.NET FrameWork 2.0框架,如程序不能打开,请下载微软的.NET FrameWork 2.0框架并安装。.net framework 2.0下载地址:
32位操作系统:http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe
64位操作系统:http://download.microsoft.com/download/a/3/f/a3f1bf98-18f3-4036-9b68-8e6de530ce0a/NetFx64.exe2
2.火车采集器程序的安装
将下载后的压缩包直接解压缩到您电脑的任何地方即可完成采集的安装–安装过程不操作注册表和系统文件,不产生任圾文件!
3.火车采集器程序的升级
运行程序目录下AutoUpdate.exe按提示进行升级。
4程序的卸载
直接删除采集整个安装文件夹即可以完成程序的卸载。在卸载前强烈建议您备份Configuration,Extensions,Data和Module文件夹(即用户配置,扩展目录,采集数据和模块)以便下次使用!
采集相关术语
1.火车采集器采集规则
简称规则,V7以前版本采集规则分为站点规则和任务规则,通常是指任务规则。V7版及以后采用无限级分组管理任务规则,所以不再有站点规则的概念。所谓采集规则就是要采集一个网站或某一网站栏目网页需要在软件里进行的设置。这个设置可以从软件里导出保存成一个文件并可以再导入到软件里。V7版的任务规则文件后缀名为.ljobx,以前的站点规则文件的后缀名为:.lsite;任务规则文件的后缀名为:.ljob。
2.火车采集器采集任务
采集任务又简称为任务。它是采集规则和发布规则的总和。也是采集规则和发布规则的载体。采集规则和发布规则的设置通过在任务编辑框里进行设置。从采集里导出的采集规则文件(.ljobx后缀的)也可称为任务规则。导入导出任务规则就是指导入导出.ljobx文件。
3.火车采集器发布模块
发布模块又称模块、发布规则,分为WEB发布模块和数据库发布模块。所谓发布模块就是在需要将已经采集的数据发布到目的地(比如:网站/后台中或指定数据库中)时在软件里进行的设置。这个设置可以保存成一个文件并可以导入到采集里使用。数据库发布模块文件的后缀名为:.dpm;WEB在线发布模块文件的后缀名为:.wpm。(采集规则和发布模块都可以从采集里导出,也都可以导入到采集中使用。采集规则负责将网页上的数据采集下来,发布模块负责将采集的数据发布到网站中。可见,采集规则的编写和修改和被采集的网站有关系,而发布模块的编写和修改和要发布数据的网站有关系。如从不同的网站栏目采集数据往同一个网站的某个板块(频道)里发布,需要多个采集规则和一个发布模块。从一个网站栏目采集数据往不同的网站系统里发布,需要一个采集规则和多个发布模块。注意这里的说的采集规则是指采集网站和抓取内容的设置。)
4.火车采集器标签
标签是指用来提取某项内容信息的一个字段名字,由用户在编辑规则的时候指定。比如标题,手机号,邮件,作者,内容标签,采集到的信息则在发布模块中就可以通过该标签名对应获取到,格式为[标签:标签名]如[标签:标题],标签在火车采集器里面有分为两种:分别为列表页标签和内容页标签,顾名思义,列表页标签就是在获取列表页时(即采网址时)就获取到内容信息,内容页标签是在获取内容页或多页内容时(采内容)才获取内容信息。
注:通常还有一种说法为 html标签,这里的标签是指一些html代码里面的属性标识符,如:
5.火车采集器起始网址
用来获取下级链接地址的入口网址,可以为一条或多条,可以通过添加起始网址向导添加同格式多条网址或导入文本网址。这里的起始网址相当于2010版以前的0级网址的概念。如果没有定义多级网址的获取方法,这些地址即作为内容页网址进行内容采集。
6.火车采集器多级网址
依次根据列表里面的多级网址顺序采集分析地址,多级网址相当于2010版以前的1级,2级,3级到N级的概念。通过依次采集分析到最后一级得到内容页地址。多级网址的获取可以使用自动分析,手工分析及Xpath可视化提取方法采集下级网址,在采集的过程中,可以同时采集列表分页及提取列表页附加参数。
7.Cookie
简单地说,就是在Http请求访问中记录您的用户信息即登录信息的一段用于与服务进行交互的字符串。在浏览中使用时通常还会以文本形式记录到您的IE缓存目录中以便下次在有效期内不用输入用户信息即可继续访问验证权限的网页。
8.User-Agent
这是用来向服务通知您使用的客户端是IE6,IE7,FireFox或是某某抓取蜘蛛,在某些需要登录的网页可能同时验证Cookie和User-Agent所以可能需要您将其设置为与本机浏览同样的格式。
9.分页
比如这篇文章页面:http://ent.qq.com/music/a/20050516/000026.htm它的内容比较长,分成了7页显示出来,而真正的内容需要将7页的内容组合起来。这样的7个子页面就是分页。
10.多页
比如绿盟的这篇页面:http://www.xdowns.com/soft/1/30/2008/Soft_45507.html,我们要获取其下载地址,而下载地址是需要打开一个新页面才能看到,在http://www.xdowns.com/soft/softdown.asp?softid=45507这个页面中,我们称后面这种页面为多页。
同理要获取http://product.it168.com/detail/doc/395075/index.shtml这样一个产品页里面的所有对应的信息,用一条规则搞定,则需要定义比如报价多页:http://product.it168.com/detail/doc/395075/price.shtml,参数多页:http://product.it168.com/detail/doc/395075/detail.shtml,图片多页:http://product.it168.com/detail/doc/395075/pic.shtml等等。V7的无限级多页规则可以在多页里面继续设置多页或桥页采集下级内容,比如该例中的图片多页:http://product.it168.com/detail/doc/395075/pic.shtml里面还分为:外观图片,细节图片,配件图片,要获取到配件图片的所有内容则需要继续定义一个基于图片多页的二级深度的配件图片多页:http://product.it168.com/detail/doc/395075/25/1/pic.shtml。在该多页中定义标签采集到您所需要的信息。
11.正则
是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。 详见百度百科: http://baike.baidu.com/view/94238.htm,比如d+可以匹配到一个或多个数字。在这里收录了一篇正则表达式的30分钟经典教程: http://help.locoy.com/Document/Learn_Regex_For_30_Minutes.htm
火车采集器里面有纯正则,还有一种基于参数匹配的伪正则,在匹配时使用[参数]标签代替您想提取的字符串,在组合时使用对应序号的[参数1],[参数2],[参数N]来组合出需要的字符串。详见下面的[参数]术语项。
[参数]
用来匹配某项准备提取信息的标记标签,如想要在以下代码中提取组合出某种格式。以从代码"mClk(this,'108484','134217', '168475','1');"中提取组合出新的地址格式为例。
"mClk(this,'[参数]','[参数]', '[参数]','1'); ",按照次序,108484参数就是参数1,依次类推。实际需要的地址为以下的地址格式:bbs/read.php?id=[参数1]&sort=[参数3]&action=[参数2],上面代码中的3个参数和下面地址中的id,soft和action参数要对应相应的值,次序不要颠倒。这样就组合成了新的地址格式。
(*)
(*)为通配符,在火车采集器可以在起始地址中代表页码数,在标签规则,模块或其他设置中可匹配代表任意字符串,如(*)可以匹配到xxx字符串也可以匹配到yy字符串。
12.Cron表达式
它是一个由6或7个子表达式组成的字符串。每一个表达式代表一个域,每个域描述了一个单独的日程细节且每个域之间使用空格分隔,它由两种格式组成。
Seconds Minutes Hours DayofMonth Month DayofWeek Year或
Seconds Minutes Hours DayofMonth Month DayofWeek
一个Cron表达式至少有6或7个有空格分隔的时间元素,每个时间元素都使用数字,但还可以出现如下特殊字符,他们的含义分别表示:
1.Seconds 秒 (允许值为0-59,允许的特殊符号,- * /)
2.Minutes 分钟 (允许值为0-59,允许的特殊符号,- * /)
3.Hours 小时 (允许值为0-23,允许的特殊符号,- * /)
4.Day-of-Month 月中的天 (允许值为1-31,允许的特殊符号,- * / ? L W C)
5.Month 月 (允许值为1-12或者JAN-DEC,允许的特殊符号,- * /)
6.Day-of-Week 周中的天 (允许值为1-7或者SUN-SAT,允许的特殊符号,- * / ? L C #)
7.Year (optional field) 年(可选的域,允许值为留空或者1970-2099,允许的特殊符号,- * /)
特殊字符含义:
(1) * 表示该域的任意值。如在Minutes域使用*,即表示每分钟都会触发事件。
(2) ? 只能用在DayofMonth和DayofWeek两个域。实际上不会匹配域的任意值,因为DayofMonth和DayofWeek会相互影响。如想在每月的20日触发调度,不管20日是周几,则只能使用如下写法:13 13 15 20 * ?,其中最后一位只能用?,而不能用*,如果使用*表示每月的20号15时13分13秒不管是周几都会触发,实际上不是的。
(3) – 表示范围,如在Minutes域中使用5-20,表示5到20分钟每分钟触发一次
(4) / 表示起始时间开始触发,然后每隔固定时间触发一次。如在Minutes域中使用5/20,表示从分钟数5开始每隔20分钟触发一次,结果25,45,05等分别触发一次。
(5) , 表示列出枚举值。如在Minutes域中使用5,20,则表示5分钟和20分钟每分钟触发一次。
(6) L 表示最后,只能出现在DayofMonth和DayofWeek域。
(7) W 表示有效工作日(周一到周五),只能出现在DayofMonth域中,系统将在离指定日期最近的有效工作日触发事件。另外,W的最近寻找不会跨过月份。
(8) # 用于确定每个月第几个星期几,只能出现在DayofMonth域中。如4#2表示某月的第二个星期四。
而在新版火车采集器计划任务管理计划任务设置中,可以设置完整的cron表达式。如0 15 08 ? * MON-FRI 表示每周一到周五的早上8点15分开始定时更新数据。
13.Http请求
浏览打开网页时实际就是发送一个又一个Http请求,火车采集器也一样,从指定的地址获取内容的过程起始页就是一个发送一个Http请求然后对得到的内容进行处理。
当浏览向web服务发送请求时,它向服务传递了一个数据块,也就是请求信息。Http请求信息由3部分组成:请求方法URI协议/版本,请求头(Request Header)和请求正文。如GET/sample.jspHTTP/1.1 //请求行
Accept:image/gif.image/jpeg,*/* //请求头
Accept-Language:zh-cn
Connection:Keep-Alive
Host:localhost
User-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)
Accept-Encoding:gzip,deflate
username=jinqiao&password=1234 //请求正文而客户就可以从请求的信息中得到有用的数据。
14.网页编码
是在网页中指定其特定的字符编码格式的库,一般在网页中会有如下一句:
,这样的字句指示此网页的字符集编码是GB2312.火车采集器对一般的网页可以做到自动识别,也罗列出了大部分的网页编码格式,直接在采集中手工选择指定相应的编码格式。
15.代理
是指网络中的代理服务,可以代理网络用户去取得所需要的网络信息。代理的功能有可以突破自身ip的访问限制访问国外站点,访问一些单位或团体内部资源,突破电信的ip封锁和隐藏真实的ip等。在新版采集中增加了Http二级代理服务并支持Http代理,socket4代理和socket5代理分类。用户可以设置一个或多个二级代理服务,或者在代理服务中可以设置更多的一级代理,从而达到单个任务使用多个代理的效果。
16.任务网址库
采集在文件夹DataLocoySpiderPageUrl下,该站点下的每一个任务都会生成一个独立或公用的网址库用来对比网址重复之用。
17.Xpath
是一门在XML文档中查找信息的语言,可以通过路径表达式在XML文档中进行导航。在新版采集中增加了使用Xpath方式采集内容和获取内容页网址的功能。在标签编辑中,选择Xpath方式就可以得到这种所见即所得的网页数据,更方便于对html不熟悉的用户使用。
正文提取
对网页源代码进行分析,设置遇到某种格式时数据进行输出的过程。在采集的标签编辑中,选择数据提取方式为正文提取,则可以用程序对文章的标题,内容,时间进行自动提取。该功能适用于准确识别大多数文章类的网页。也特别适合对采集不是很熟悉的用户操作。
18.OCR
OCR (Optical Character Recognition,光学字符识别)是指对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。新版采集中集成了OCR自动识别模块的功能,用户在标签编辑数据处理中,使最终数据为图片地址,然后添加OCR程序将自动调用OCR图片进行下载识别并识别显示为最终的文字结果。
19.发布接口
发布接口就是一个小的页面程序通常和WEB发布模块配合使用。WEB在线发布(使用WEB发布模块)是将采集的数据以POST方式发送到网站页面程序中由网站程序处理数据。而发布接口就是为了满足特定需求而写的一个网站的页面程序(如:PHP页面,ASP页面等)。然后采集通过WEB在线发布将数据发送到这个接口文件由这个接口文件处理数据。接口文件通常放在服务网站某个目录下。简单的说就是采集将采集的数据发送到接口文件中,接口文件得到数据后去处理数据。使用发布接口用户可以更加灵活自由的处理采集发送的数据。
20.插件
火车采集器里的插件分为PHP插件和.NET插件两种。标准版以上支持PHP插件和.NET插件。插件可以让用户通过自己写PHP程序或者.NET程序放到采集中对采集的数据进行处理。采集数据时可以使用及处理的插件接口详见:todo。
21.发布数据
发布数据就是将采集到的数据发布到指定的目的地,火车采集器支持四种发布方式。
方式一:Web在线发布到网站
方式二:保存为本地文件
方式三:导入到自定义数据库
火车数据采集平台中最重要的扩展程序是火车采集器,我们所说的采集学习即火车采集器的使用。火车采集器是一个非常专业的数据抓取和数据处理软件,对软件使用者有较高的技术要求,使用者要有基本的HTML基础,能看得懂网页源码,网页结构。 同时如果用到web发布或数据库发布,则对自己文章系统及数据存储结构要非常了解。如果您相关基础薄弱,则需要花时间学习相关知识并多看使用手册,才可以 掌握程序的使用.
当然对HTML和数据库不是很了解,是不是就不可以使用火车采集器了呢?也不完全是,我们程序在做了许多工作以帮助使用者更快的上手,程序做了许多 演示教材,您可以研究一下,参照并仿照制作自己的规则,再加以练习,基本也可以使用。如果您对HTML和数据库有更深层次的需求,可以来火车采集器技术支 持论坛 (http://bbs.locoy.com)寻求技术支持,论坛里有很多朋友都是很乐于帮助你的.同时,我们也提供相关的服务,您可以从我们这里得到你 网站或系统的完美的采集方案。
火车采集器学习采集时,如有以下相关知识,将会对程序的使用起到促进作用
1. html基础 了解网页的基本知识,帮助分析网页结构 http://www.w3school.com.cn/html/index.asp
2. 正则表达式的使用 http://www.regexlab.com/zh/regref.htm
3. Http协议的相关知识 Http请求抓包的方法 http://www.fiddler2.com/fiddler2/
4. Access,Mysql,Sqlserver,Sqlite,Oracle,Mongo数据库的使用
5. 代理服务,FTP服务相关知识
6. 常见的SQL语句
7. 插件需要PHP或C#编程功底的支持
8. Apache或IIS服务架设,网站的安装
RSS