数据帮指南
(一)揭开神秘的面纱

图 1 数据帮的颜值
2014年10月1日,数据帮诞生于北京市海淀区上地东里青年公寓216宿舍。为了纪念大鸟独自创作产品的心路历程,数据帮采用了金刚黑搭配半透明效果作为产品的皮肤来代表那段时间大鸟略显灰暗的心情,同时,又以雅典娜女神为背景来反映大鸟心中对未来美好生活的憧憬。

图 2 数据帮的身体结构
从机械学角度来研究数据帮的身体结构,可以将其分解为三部分。头部是参数录入区域,这里用来给数据帮下达具体的采集任务命令; 腰部是动作控制区域,这里用来控制数据帮采集任务的执行;尾部是运行状态区域,这里显示采集过程中反馈的运行信息;在整个身体结构的心脏位置是独具特色的大鸟软件二维码图标,提供扫码进入大鸟产品服务平台的功能。
(二)极简主义下的运行模式
相比传统采集软件复杂难懂,不易上手,数据帮为更好的满足不同用户的数据需求,所有任务的参数配置都由大鸟开发员预先设置再移交给用户。利用软件自带的记忆功能,可以达到用户无需配置参数只需点击动作控制按钮即可获取数据的状态,这就是大鸟软件贯彻的极简主义运行模式,充分降低用户的学习成本,专注于用户关心的数据。
本小节特别为用户讲解为实现极简主义运行模式的参数配制方法。
按照难易程度,软件参数可分解为基本参数和高级参数两部分。基本参数提供对于单个网站一次性采集任务的命令配置方式,高级参数则提供多个网站采集任务的命令配置方式。同时,如果想实现无人值守的采集运行模式,也需要在高级参数里面进行配置。寻找高级参数的方法很简单,在参数录入区域中,点击高级设置按钮弹出的对话框里面的参数就是高级参数,除此之外,其他参数都是基本参数。

图 3 参数设置
在基本参数中,直观展示在参数录入区域中的组件是与一次性采集单个网站任务有着紧密联系的命令项。
其中,网络基准地址代表要采集的网站数据分页地址的通用描述符。以采集赶集房产中介招聘信息数据为例,点击链接:http://bj.ganji.com/zpfangjingjiren/o1/。可以看到页面展示的是北京赶集房产中介招聘信息第一页的数据,点击页面底部中的分页页码2,可以看到浏览器中的链接变成了:http://bj.ganji.com/zpfangjingjiren/o2/。你可以再点击分页页码中的第三页试试,很快就会发现规律,在链接里面的/o{0}/这部分实际上就代表了具体的分页页面。因此,软件里面采用http://bj.ganji.com/zpfangjingjiren/o{0}/来标识网站数据分页地址,将变化的页码部分用{0}来表示。当然,你也许会发现其他网站的分页地址不是用1,2,3... 这样用规律的数字排列的,也
许是用10,20,30... 这样的等差数列排列的,不用担心,软件的网络基准地址可通过构造相关的计算式来匹配这种规律,只要你理解了网络基准地址的含义即可。
其中,链接匹配描述代表要采集的网站数据链接地址在各个数据分页地址中的提取标识。还是以采集赶集房产中介招聘信息数据为例,点击链接:http://bj.ganji.com/zpfangjingjiren/o1/。用户需要的具体数据一般需要通过数据列表中的标题链接再次点击进入才能获取,因此,链接匹配描述就是用来提取这些具体数据链接而设计的,这个基本参数项非常专业,不过得益于大鸟极简主义运行模式,大鸟开发员会帮助你设计好的。

图 4 链接匹配描述的作用
至于其他参数项就非常好理解啦!为了防止采集过程
中,被网站发现是爬虫软件在访问,基本参数项里面提供了最短睡眠时间和最长睡眠时间来模拟人工在访问网站不同数据信息时出现的不规律间隔时间。起始页码和结束页码则是为了限制采集数据的页码范围而设置的,比如赶集房产中介招聘信息数据有好几十页,为了避免重复采集数据,一般用户只会采集前10页,那么配置上起始页码为1,结束页码为10即可。网页解析器和网页编码则是用于完成具体的数据采集任务。由于网页解析器完全按照用户采集网站的数据任务命名,所以在选择上就不解释啦。编码一般国内网站不是UTF-8就是GBK,具体选择会由大鸟开发员告诉你的^_^。
剩下的基本参数配置项就是按钮:仅当前网页,启动代理切换,加载模式,数据库连接参数设置,导出设置和调试模式了。
仅当前网页按钮是特定为部分特别用户采集单个页面设计的,在这类需求中,一般用户在网络基准地址中配置的链接是一个具体的网页地址,需要采集的数据也全部展现在该网页中,不过数据会定时变化,所以一般这类需求都需要结合高级参数配置来完成。
启动代理切换按钮是为防止单一IP采集网站被封闭而设计的。当该按钮被选中时,在采集过程中,数据帮会根据IP有效情况来决定下一次采集是否需要更换IP。
加载模式按钮是为了解决网页采用异步延迟加载技术导致的数据源链接获取不全的问题设计的,具体选择会由大鸟开发员告诉你的^_^。
数据库连接参数设置按钮是为了设置采集数据的存放地址,具体选择会由大鸟开发员告诉你的^_^。
导出设置按钮是为用户获取采集到的数据而设置的,数据会以EXCEL文件的形式生成出来。在导出设置对话框中,用户可以设置EXCEL文件的保存地址,每一份EXCEL文件最多可以保存的数据行大小以及导出数据的时间范围。数据信息导出器则用于区分导出的数据类别和完成用户特别定制格式的EXCEL文件生成。对于拥有SQL语句基础的用户,软件还提供比时间范围限制更丰富的导出数据筛选功能,具体方法请咨询大鸟开发员单独解答^_^。
OK!只剩下调试模式按钮了。它是协助大鸟开发员帮助用户分析在采集过程中遇到的问题,选中它,数据帮就会记录在采集过程中失败的详细数据信息。
(三)无人值守之道
还记得前面提到的数据帮可以做到无人值守的运行状态吗?为了进一步方便用户使用数据帮进行采集,大鸟开发员特别设计了相关的高级参数设置模块。

图 5 高级参数设置
高级参数可以分为两部分:左边部分是为了实现循环采集功能或者多批次采集而设置的命令输入项;右边部分是为了实现辅助网站数据采集而设置的代理采集器和其他特殊控制参数。由于右边部分参数十分专业,会由大鸟开发员预先配置,所以本节只重点讲解左边部分参数^_^。
是否启动后自动执行上次未完成的任务这个高级命令项是为了实现类似迅雷断点续传的采集任务功能,以避免因为用户点击取消或者其他意外原因使软件在未完成采集任务的情况下提前终止运行而导致剩余工作不能在下次启动自动执行。
是否重复执行失败任务和重复执行次数这个高级命令项是为了使软件能够对采集失败的数据尝试自动重新采集,以防止部分数据因为网站服务器响应不及时而导致的漏采。
是否执行工单任务这个高级命令项是为了使软件能够对多个网站做批量采集。这里就要好好描述下工单文件的配置方法了,学习者一定要结合前面描述的基本参数来理解。
工单文件采用的是一种叫做INI格式的文件来描述的,具体什么是INI文件,请点击这里。并且,由于文件编码问题,一定要用大鸟推荐的编辑器(比如:Notepad++)来编辑工单文件哦,否则会遇到工单不能被正常解析的错误。
下面来看看在一次任务中需要采集58和赶集两个网站
数据的工单文件的具体配置:
#采集网站数据任务的名称,标识必须唯一
[赶集]
#网络基准地址
address=http://bj.ganji.com/zpfangjingjiren/o{0}/
#链接匹配描述
regExp=a.list_title@
#加载模式,必须为0,1,2... 加载模式索引顺序
ajax=0
#网页解析器
selectParser=赶集房产中介招聘信息提取器
#起始页码
startPage=1
#结束页码
endPage=10
#最短睡眠时间
minSleepTime=5
#最长睡眠时间
maxSleepTime=10
#网页编码
encode=utf-8
#执行任务的优先次序
priority=1
[58]
address=......
regExp=......
ajax=......
......
非常简单,实际上,就是把在单一网站数据采集任务中要配置的基本参数在INI文件中来分段描述。
剩下的高级参数就很好理解了,定时运行需要设置的三个命令项就和手机闹铃一样,可以设置什么时间执行采
集以及是否需要循环执行,如果把定时周期设置为0的话,就代表只执行一次^_^。
最后一个高级参数信息栏缓存行数是用来限制软件运行状态中信息面板展示的提示信息最大行数的,以避免提示信息累积,暂用电脑内存过多。
OK!能坚持看到这里已经很不容易啦,主要内容已经介绍完毕,休息,休息一下吧!^_^