AKCMS官方网站 » 使用手册 » AKCMS采集器的使用

最新更新:2010-07-30 09:36:06

注意:AKCMS3.0+中取消了内置的采集功能。如果想使用采集功能,请下载3.0之前版本或购买采集插件

请参考视频教程:http://www.akcms.com/bbs/viewthread.php?tid=514

AKCMS内置了小巧的采集器,下面我以采集网易新闻为例详细讲解如何使用采集功能。

采集前的准备工作:
1 准备一个待采集的最终页的URL
2 准备一个待采集的列表页的URL

首先分析待采集的最终页,以http://ent.163.com/09/0413/14/56PM092P00031H2L.html为例。找到要采集内容的前后的唯一的标志,比如经过研究后发现,网易新闻的题目前后都加着<h1>标签:<h1 id="h1title">AV女优苍井空否认来穗 传其骂中国媒体是混蛋</h1>;正文的开始前面都会有“<div id="endText">”,后面都会有“<a href="http://ent.163.com/">”

OK,分析好了就在后台这样新建一个正文采集规则:



大家也许看明白了,AKCMS可以采集页面的20块不同的区域,每一块的采集结果用[fieldx](x从1-20)表示,您也可以在题目字段这样写:“【哈哈】[field1]”则入库的文章就带着这个前缀了:【哈哈】AV女优苍井空否认来穗 传其骂中国媒体是混蛋。也可以用多个区域采集结果的组合,比如:“[field1][field3]<br>[field5]”都是可以的。

下面让我们点击上方的预览看看效果:



正文内容中的代码,除了<img>被保留了,其他HTML代码都会被过滤掉,无效的代码也被清理过了,这样一来就不用担心正文中的广告和链接了。

顺利的话采集器就算添加完了。下面再用几个场景演示一下几个高级功能的用法:

假如上级领导有指示,文章中不得出现“女优”这两个字,你可以在最下方的替换中这样写:“女优|优优”,这样就可以了。

不想采集正文中的图片怎么办?AKCMS采集器并没有这个设置,但是可以通过替换功能变通的实现:在替换中增加一行“<IMG|<abc”,这样就破坏了原有的<img>标签,而正文中的其他标签均会被过滤掉,这样就变通的实现了禁止采集图片。(这个例子体现出了AKCMS鲜明的特色,它并不会为每一个功能都固定得设计一个选项;而是给站长充分的自由度,让站长自由组合,灵活运用。)

过滤后预览效果如下:

假如风声更紧了,替换也不行的话,就使用跳过设置,包含敏感词的一律跳过不采集。如果风向偏暖,想做个专门的女优网站就使用特征设置,含有敏感词的才采集。使用这两个设置后如果目标页符合设置不采集,预览的时候会简单的显示skipped。

在采集的同时还可以分析关键词和文件名,只要在关键词和文件名字段设置为[auto]即可。比如:这篇新闻识别如下图,识别质量依赖于词库,点这里了解关键词识别

至此文章正文的采集规则已经设置完成,下面再设置列表页的采集规则。

首先我们找了一个列表页:http://ent.163.com/special/00032IAD/roll.html,查看网页源代码寻找列表的源代码,很容易就找到了:

下面我们寻找列表的起始标志,如果找不到唯一的起始标志也没有关系,那就把范围扩大一些,比如:这里起始标志我选用离list很远的“<label>每分钟自动刷新一次</label>”也没有问题,中间的代码会自动过滤掉而只保留<a>链接。保存之后,可以预览一下:

如果list中混杂了一些其他的链接,可以通过特征过滤:

比如:
1 很多种URL混杂在一起,而我们只想采集ent.163.com域名下的文章,就在网址采集特征里写“ent.163.com”
2 很多种URL混杂在一起,news.163.com,ent.163.com等等,除了porn.163.com域名下的文章都需要的话,就在网址跳过特征里写“porn.163.com”
3 很多种URL混杂在一起,但是我们只想采集标题中含有“苍井空”的文章,我们就在标题采集特征里写“苍井空”
4 很多种URL混杂在一起,但是题目里含有“色情”的我们不要采集,我们就在标题跳过特征里写“色情”

AKCMS还支持采集多页列表,使用方法是首先分析分页的URL特征,找到增长的页面数,找到规律后用(*)代替这个变化的id,在URL后面的两个框中依次输入起始和结束的ID,比如采集这些页面

http://www.sexinsex.net/forum/forum-308-2.html
http://www.sexinsex.net/forum/forum-308-3.html
http://www.sexinsex.net/forum/forum-308-4.html
http://www.sexinsex.net/forum/forum-308-5.html
http://www.sexinsex.net/forum/forum-308-6.html
http://www.sexinsex.net/forum/forum-308-7.html
http://www.sexinsex.net/forum/forum-308-8.html

就写这样填写:

AKCMS还支持定时采集,设置好定时设置,保存即可。需要注意的是:这里的定时不是通过系统进程的精确的定时,而是通过前台用户访问触发了一个后台的动态程序,动态程序判断当前时间与定时设置的关系,再决定是不是执行。为避免执行时间超时,AKCMS使用这样的逻辑:先把待采集的页面扔到一个待采集的队列中,然后依次采集,每次采集一个。因此,当访问量比较少的时候,定时采集不精确,甚至可能相差较大。当没有访问量时,定时采集无法工作。

另外,分页采集(比如:采集1-8页)只限于手动采集,如果定时采集的话对系统资源浪费较大,而且没有任何用户。一般而言,定时采集只采集最新内容。

功能的命名说明:2.6正式版以前的命名和2.6正式版及以后版本命名稍有不同。

采集器 = 列表采集规则(new)

采集规则 = 正文采集规则(new)


本文URL:http://www.akcms.com/manual/spider.htm
软件介绍
AKCMS是一款轻量级CMS,它:

兼容性好,对主机要求低
体积小巧(220KB),精简高效
灵活自定义,适于SEO
超强负载能力,可支持百万PV

可免费使用,页面显示AKCMS的支持信息:powered by akcms
下载
当前稳定版:3.0.3»
手册