一套内容采集系统 解放编辑人员
优采云 发布时间: 2020-08-03 13:02内容采集系统,对于以内容为主的网站来说是非常好的助手,除了原创内容外,其它内容须要编辑人员或则采集系统来搜集整理,然后添加到自己的网站里。Discuz DvBBS CMS等产品,内部都自带了一个内容采集功能,来采集指定的相关内容。 单客户端的优采云采集器也可以非常好的采集指定的内容。这些工具都是想使机器取代人工,把编辑人员从内容搬运的工作中解放下来,做一些更高档的工作,例如采集结果的内容微调,SEO优化,设定精确的采集规则,让采集的内容愈加符合自己网站的须要。
下面的内容采集系统就是从这个看法开发而至的,这个采集系统由两个部份组成:
1. 编辑人员所使用的采集规则设定器和对采集结果进行初审、微调和发布所使用的Web站点。
2. 部署在服务器上的定时采集器和定时*敏*感*词*。
首先由编辑人员通过一个采集规则设定器(NiceCollectoer.exe)设定要采集的站点,再等采集完成后,编辑人员再通过一个Web站点(PickWeb)对采集的结果进行初审、微调和优化之后发布到自己的网站上。编辑人员所须要做的是采集规则的设定,和对采集结果的优化,其它部份的工作都由机器完成。
NicePicker 是Html 分析器,用来抽取Url,NiceCollector 和HostCollector 都使用NicePicker来剖析Html, NiceCollectoer 就是采集规则设定器,一个目标网站只用设定一次:
使用上去和最早的优采云采集器类似,这里使用博客园来做目标采集站点, 设定采集精华县的文章,采集规则十分简单:当编辑人员设定好采集规则后,这些规则会保存到NiceCollector.exe同目录下的 Setting.mdb中。一般当采集规则设定好之后,基本上不用再变动了,只在目标网站的Html Dom结构发生变化时,需要再度微调一下采集规则。NiceCollector同时用于新目标采集站点的设定和添加操作。
等编辑人员完成采集规则的设定后,把Setting.mdb放在 HostCollector.exe下, HostCollector 会依照Setting.mdb的设定进行真正的采集,并把采集的结果存入数据库。
到这一步就完成了内容的采集工作,编辑人员可以打开PickWeb,对采集结果进行微调和优化,然后初审通过并发送到自己的网站上:
真正发送采集结果到自己网站的工作不是由PickWeb完成的,编辑人员完成内容初审后,PostToForum.exe 会读取数据库并发送这条通过初审的采集结果到自己的网站上,在自己的网站上其实须要一个. ashx或则某种其它方法来接收采集的结果,不建议PostToFormu.exe直接去操作自己网站的数据库,最好通过自己网站上的某个API,来接收采集结果。
NiceCollectoer, HostCollector, PickWeb, PostToForum, 这几个程序联合工作,基本上已经完成了采集和发送的工作,HostCollector, PickWeb, PostToForum 是布署在服务器上的,HostCollector须要被周期性的调用内容采集系统,来采集目标网站所形成的新内容,HostRunnerService.exe 是一个Windows Service,用来周期性调用HostCollector,使用管理员身分在控制台下运行 installutil / i HostRunnerService.exe 就可以安装这个Windows Service了:
HostRunnerService 的配置也很简单:
在RunTime.txt 中设定每晚定时采集几次:
当新内容被采集后,编辑人员须要定期的登陆PickWeb,来优化、微调、并初审新内容,也可以设定默认初审通过。同样PostToForum 也须要被周期性的调用,用来发送初审通过的新内容,CallSenderService.exe 与 HostRunnerService.exe类似,也是一个Windows Service,用来定期的调用PostToFormu.exe。
到这儿整个系统基本上完成了,除此之外还有两个小东东: SelfChecker.exe 和HealthChecker.exe。 SelfCheck.exe 是拿来检测Setting.mdb中设定的规则是否是一个有效的规则,例如检测采集规则是否设定了内容采集项。HealthChecker.exe拿来搜集HostCollector.exe 和 PostToForum.exe 所形成的log内容采集系统,然后将log发送给指定的系统维护人员。
这个内容采集系统还有好多地方须要改进和优化,现在的状态只能说是个Prototype吧,例如 NicePick 需要进一步具象和构建,给出更多的Interface,把剖析Html的各个环节插件化,在各个剖析步骤上,可以使用户加载自己的分析器。 在NiceCollector上,需要更多更全面的采集规则设定。在PickWeb上可以加入一些默认的SEO优化规则,如批量SEO优化Title的内容,等其它方面吧。
可执行文件下载:
08_453455_if8l_NROutput.rar(链接已更新)
源代码下载:
08_234324_if8l_NiceCollector.rar(链接已更新)