一套内容采集系统 解放编辑人员

简介: 内容采集系统,对于以内容为主的网站来说是非常好的助手,除了原创内容外,其它内容需要编辑人员或者采集系统来收集整理,然后添加到自己的网站里。Discuz DvBBS CMS等产品,内部都自带了一个内容采集功能,来采集指定的相关内容。

内容采集系统,对于以内容为主的网站来说是非常好的助手,除了原创内容外,其它内容需要编辑人员或者采集系统来收集整理,然后添加到自己的网站里。Discuz DvBBS CMS等产品,内部都自带了一个内容采集功能,来采集指定的相关内容。 单客户端的火车头采集器也可以非常好的采集指定的内容。这些工具都是想让机器代替人工,把编辑人员从内容搬运的工作中解放出来,做一些更高端的工作,例如采集结果的内容微调,SEO优化,设定精确的采集规则,让采集的内容更加符合自己网站的需要。


下面的内容采集系统就是从这个想法开发而来的,这个采集系统由两个部分组成:
1.  编辑人员所使用的采集规则设定器和对采集结果进行审核、微调和发布所使用的Web站点。
2.  部署在服务器上的定时采集器和定时发送器。


首先由编辑人员通过一个采集规则设定器(NiceCollectoer.exe)设定要采集的站点,再等采集完成后,编辑人员再通过一个Web站点(PickWeb)对采集的结果进行审核、微调和优化然后发布到自己的网站上。编辑人员所需要做的是采集规则的设定,和对采集结果的优化,其它部分的工作都由机器完成。
1
NicePicker 是Html 分析器,用来抽取Url,NiceCollector 和HostCollector 都使用NicePicker来分析Html, NiceCollectoer 就是采集规则设定器,一个目标网站只用设定一次:
2 

3


使用起来和最早的火车头采集器类似,这里使用博客园来做目标采集站点, 设定采集精华区的文章,采集规则非常简单:当编辑人员设定好采集规则后,这些规则会保存到NiceCollector.exe同目录下的 Setting.mdb中。一般当采集规则设定好以后,基本上不用再变动了,只在目标网站的Html Dom结构发生变化时,需要再次微调一下采集规则。NiceCollector同时用于新目标采集站点的设定和添加操作。
等编辑人员完成采集规则的设定后,把Setting.mdb放到 HostCollector.exe下, HostCollector 会根据Setting.mdb的设定进行真正的采集,并把采集的结果存入数据库。


到这一步就完成了内容的采集工作,编辑人员可以打开PickWeb,对采集结果进行微调和优化,然后审核通过并发送到自己的网站上:
4


5
真正发送采集结果到自己网站的工作不是由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了:
6
HostRunnerService 的配置也很简单:
7
在RunTime.txt 中设定每天定时采集几次:
8
当新内容被采集后,编辑人员需要定期的登录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 (链接已更新)

 

相关文章
|
3月前
|
敏捷开发 存储 数据挖掘
最佳进度跟踪工具推荐:如何提高工作效率并按时完成任务?
本文介绍了6款高效的项目进度跟踪工具,包括Banli Kanban、TeamGantt、ZenHub、LiquidPlanner、Smartsheet和Redmine,详细阐述了它们的特点、适用场景及推荐理由,旨在帮助团队根据自身需求选择最合适的工具,提升项目管理效率和团队协作能力。
最佳进度跟踪工具推荐:如何提高工作效率并按时完成任务?
|
3月前
|
自然语言处理 搜索推荐 数据可视化
团队协作的未来趋势:在线协作软件如何改变工作方式?
团队协作是现代企业的成功关键,但任务分配混乱、进度跟踪不清等问题常阻碍效率。本文推荐了板栗看板、Trello、Asana、Monday.com和ClickUp五款在线协作工具,它们各自具备独特功能,能有效提升团队沟通与任务管理效率,帮助企业克服协作难题。
61 7
|
8月前
|
传感器 Python
门禁管理系统工程是一个涉及硬件和软件集成的复杂系统,旨在控制人员的出入,并记录和管理相关数据。
门禁管理系统工程是一个涉及硬件和软件集成的复杂系统,旨在控制人员的出入,并记录和管理相关数据。
|
9月前
|
存储 监控 安全
这些屏幕监控软件,让监控员工更轻松
【WorkWin、Teramind、Hubstaff】三款屏幕监控软件助力企业管理。WorkWin精确记录员工时间,控制权限,确保安全;Teramind监测应用使用、键盘活动,优化工作效率;Hubstaff则强化团队管理,分配项目,实时追踪进度。这些工具旨在提升生产力,保证工作合规,同时优化时间管理和资源分配。
170 0
|
运维 安全 fastjson
【干货】自动化批量挖洞流程 之 四工具联动
【干货】自动化批量挖洞流程 之 四工具联动
726 0
|
项目管理
WMWS工程仪器设备在线监测管理系统使用注意事项
WMWS(Wincom Monitoring Web System)是稳控科技专门为终端客户开发的在线监测管理系统,基于BS 架构。可在浏览端实现项目管理、数据查看与下载、曲线查看等操作。系统界面风格简约、布局统一、逻辑清晰,具有极佳的操控体验。三层监测要素架构,实现了多项目、多设备、多测点无限扩展,可满足小型、中型的单(多)项目管理。
WMWS工程仪器设备在线监测管理系统使用注意事项
|
JavaScript 前端开发 测试技术
【测试开花】六、项目管理-前后端-实现编辑功能
【测试开花】六、项目管理-前后端-实现编辑功能
【测试开花】六、项目管理-前后端-实现编辑功能
|
固态存储 数据安全/隐私保护
kobra 在线协同代码编辑
很多开发团队都有协同编码的需求。Kobra 是一个在线协作代码编辑器,允许你和你的团队进行快速高效的编码协作。
697 0
kobra 在线协同代码编辑
|
SQL Java 应用服务中间件
JSP+Servlet培训班作业管理系统[13]–人员修改功能的实现
本文目录 1. 本章任务 2. 添加修改按钮 3. 在RouteServlet中添加用户编辑页面跳转 4. 新增用户编辑页面 5. 处理编辑提交请求 6. 测试验证
183 0
JSP+Servlet培训班作业管理系统[13]–人员修改功能的实现
|
Java 数据库 数据安全/隐私保护
JSP+Servlet培训班作业管理系统[12]–人员新增功能的实现
本文目录 1. 本章任务 2. 增加新增按钮 3. 添加新增页面 4. 通过UserServlet保存新增用户 5. 测试
169 0
JSP+Servlet培训班作业管理系统[12]–人员新增功能的实现