phpcms 采集教程
Phpcms网站管理系统目前最新版本为Phpcms v9,作为国内主流CMS系统之一,目前已有数万网站的应用规模。那么其自带的采集模块功能如何呢,来看看吧。
文章采集
Phpcms v9默认内置有文章、图片、下载3个内容模型,先来看最普通的文章采集。以采集新浪互联网频道,国内滚动新闻栏目为例http://roll.tech.sina.com.cn/internet_chinalist/index_1.shtml
1、进入后台,内容——内容发布管理——采集管理——添加采集点。(不同于Phpcms以往版本,采集管理在模块菜单内)

2、网址规则。采集项目名随便填,采集页面编码默认GBK,具体采集页面的时候可以通过查看其网页源代码。


网址采集,没有大的特色,通过查看所要采集页面的网址规则填写。分析目标页面得出是序列网址,且所要获取内容的网址都在<!-- 列表 begin -->和<!-- 列表 end -->两个标签之间。无其他干扰链接,所以就无需定义网址中必须包含和不得包含的字符了。如果目标网站配置了Base,那么也要配置好。

网址采集配置结束,但是如果目标网站列表页用js实现上下页,或者所要获取网址深度超过2级,用此自带采集就很难实现了。
3、内容规则。phpcms是用“[内容]”作为通配符,然后设置好开始结束的字符,再过滤不要的代码来实现内容的采集。分析目标页的title标签比较有规律,可以直接如图设置。

过滤格式为“要过滤的内容[|]替换值”,如果是删除的话就替换值留空。过滤规则是支持正则表达式,系统自带了几种比较常见的标签过滤正则,要比较灵活过滤的话对于新手来说有点难度,所以新手需要先熟悉下正则表达式。

作者规则,来源规则,时间规则依照规则去获取。小编尝试了一下固定值发现无法实现,就是把某一标签设为固定值,如把“来源”设定为http://www.sina.com.cn,可是采集结果来源标签为空。

内容规则,填好开始和结束标签,我们测试的目标页比较干净,所以只需过滤掉里面的超链接和一些无用标签即可。

内容分页规则,如果内容页有分页必须填写,此处文章都没有分页,小编会在后面的图片采集来介绍这个标签。
4、自定义规则,除了系统默认的几个标签外,你还可以自定义各种标签,规则是一样的,只是有一点要注意:规则英文名一定要填写,否则自定义标签无法保存。
5、高级配置,此次可以设置下载图片、图片水印、内容分页和导入顺序。其中注意,如果需要水印记得修改好自己网站的水印图片,水印存放路径:statics/images/water

6、规则设置好了,提交回到采集管理首页,可以先通过测试来看看各标签是否准确。

7、发布内容。如果都准确,先点击采集网址,会自动采集文章地址,并过滤重复url。然后会弹出采集网址完成的消息,点击其中的“采集文章内容”

采集自动进行,并显示采集进度。

采集完成后自动回到采集管理首页,点击内容发布,进入到已采集文章列表,勾选要发布的文章,或者直接点击底部的全部导入。

进入到发布方案选择界面,新建发布方案,选择一个发布栏目,本测试选择的是文章模块的栏目“国内”,在方案新建页面可以设置自动提取摘要、自动提取缩略 图、导入文章状态、标签与数据库对应关系。其中,导入文章状态只有一个“发布”,如果站长需要状态为待审核,要先修改对应栏目的工作流为一级审核。

标签与数据库对应关系中,把采集标签和数据库字段一一对应,如果有自定义标签找不到对应字段,需要修改模型增加字段,然后通过修改模板来显示,对技术要求比较高,不适合新手。另外系统自带几个处理函数,也挺实用的。

发布方案设置完成,自动开始导入刚才选择的文章,并且下一次导入时就无需再建方案了,直接选择已建好的方案即可。

文章采集、发布完成。看看效果:

后台内容管理页

内容页
下面我们来看看图片采集
图片采集
phpcms v9自带图片模型,对图片处理也有个组图模式,方便一些站长做图片网站或者设置图片展示方式。下面来体验下用自带采集程序来采集图片,以采集http://www.4493.com/mingxingxiezhen/页面的图片为例:
网站获取规则以及内容获取规则等都和文章采集一样,最重要的一点,phpcms v9的图片采集不能只采集图片地址,而是应该采集整个<img>标签,这样才能处理为组图。如本例:内容标签设置为

采集到的内容应该是这样的

还有个分页问题,目标站的分页如图所示:

网页代码为:

所以只需在内容分页规则处选择全部列出模式,然后填写分页标签开始和结束字符,系统就自动采集分页的内容了。

设置完规则后,采集网址,采集内容,发布内容。发布方案处要注意,小编几经尝试发现,要实现组图模式,必须内容字段和组图字段都要用上“处理为组图”函数。但是这样就无法获取第内容图片做缩略图了,所以最好自定义一个缩略图标签,直接获取一张内容图地址做缩略图。

设置好后发布。见采集效果:

栏目页

内容页
总结:细细体验下来,phpcms v9自带的采集功能还是比较全面的,满足基本的文章和图片采集。但是不够灵活,对一些高要求的站长来说还明显不足,而且门槛较高,官方对采集模块的说明和帮助文件又非常有限,不利于新手上手。
原文网址:http://www.3lian.com/edu/2012/03-18/23229_3.html
phpcms 采集教程的更多相关文章
- DeDeCMS织梦的采集教程
http://www.tuicool.com/articles/VziaEz dede 第一步.我们打开织梦后台点击采集——采集节点管理——增加新节点 第二步.新增节点-配置网址索引 填写要采集 ...
- phpcms采集地址中为相对路径解决方法
1.修改数据库v9_collection_node,增加两个字段replace_from,replace_to(varchar(200)) 2./phpcms/modules/collection/t ...
- PHPCMS V9教程之快速入门
这篇文章要为大家来介绍PHPCMS V9这个系统的一些基本知识,PHPCMS是基于面向对象的,严格的安装MVC开发模式开发的CMS系统,同时他还是一个非 常不错的PHP框架.下面我们一起看一下PHPC ...
- PHPCMS 插件开发教程及经验谈
虽说 PHPCMS 开源,但其它开发文档及参考资料实在少得可怜.进行二次开发时,自己还得慢慢去研究它的代码,实在让人郁闷. PHPCMS 的“Baibu/Google地图”实在有待改进,对于数据量比较 ...
- phpcms v9教程 联动搜索在房地产网站开发中的应用
开发简述:使用phpcms v9系统,修改源文件5个,创建模型:楼盘.出售.出租.中介.小区,增加联动菜单:楼盘,增加用户组:房产中介.实现功能:游客发布信息.会员申请中介.楼盘全方位展示.报名团购. ...
- 苹果CMSv10宝塔全自动定时采集教程
伙伴们在建立好自己的网站添加自定义资源库后,由于手动采集方式比较耗时间和精力更新也不够及时,是不是特别希望能有一个全自动定时采集方法来帮助网站增加视频资源解放自己的双手,那么现在就教大家如何用宝塔一步 ...
- DEDECMS之九 文章采集
到很多网友都为织梦(DEDECMS)的采集教程头疼,的确,官方出的教程太笼统了,什么都没说,换个网站你什么都做不了,这个教程是最详尽的教程,让你一看即会! 一.列表采集 第一步.我们打开织梦后台点击采 ...
- Phpcms v9系统类库与函数库调用方法
在分享了n多phpcms的教程后,cmsyou继续分享关于phpcms v9系统类库与函数库的调用方法. 系统类库位于系统的 /libs/functions目录下面,函数库文件名为*.func.php ...
- 简单java采集程序一
[目标任务]通过该网站采集全国的手机号码段至数据库表中 [完成过程] 1.初涉正则表达式,学会写简单的正则表达式 2.获取单个网页内容,学会java中基本的IO流 3.将获取数据插入mysql数据库表 ...
随机推荐
- ajax读取文本内容(此处的txt文件和html文件处于同级目录)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <style&g ...
- ffmpeg常用基本命令(转)
[FFmpeg]FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpe ...
- oracle文字与格式字符串不匹配的解决
oracle文字与格式字符串不匹配的解决 oracle的日期时间类型 在往oracle的date类型插入数据的时候,记得要用to_date()方法. 如insert into CUSLOGS(STAR ...
- 在windows下python,pip,numpy,scipy,matplotlib的安装
系统:win7(64bit) 如果只需要安装python,执行步骤一就可以了,不用管后面.如果还需要其它的库,则只需要执行第二步,第一步可省略(因为在安装anaconda的时间,python就自动装好 ...
- PostgreSQL: 一种用于生成随机字符串的方法
create or replace function random_string(integer) returns text as $body$ select array_to_string(arra ...
- timeSeries db之:使用Metrics监控应用程序的性能 (zz)
在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或者某一时刻运行的情况,比如当前系统中对 ...
- Activiti系列:是否可以让某些流程的信息写到历史表,而另外一些不写?
一.起因 打算使用activiti的定时启动事件来定时启动流程,然后再在该流程中针对每个用户启动另外一个流程实例来计算每个用户的实时账单,系统的用户数一般是1000~2000(此处假设是200 ...
- C#爬页面总结
错误的思路是这样的:发送一个访问页面的请求过去,得到一个html页面,然后我要的数据全都在这上面.后来发现不是这样的,也猜到可能是页面加载之后还有js代码的ajax的异步加载,那么问题来了?我是不是要 ...
- 在Ubuntu-14.04.3配置并成功编译Android6_r1源码
折腾了一周,终于把Android6_r1的源码编译成功.先上图,这是在ubuntu中运行的Android模拟器: 由于我是在win8中安装虚拟机VMware,然后在虚拟机中安装Ubuntu进行编译,所 ...
- 端口扫描之王——nmap入门精讲(一)
端口扫描在百度百科上的定义是: 端口扫描是指某些别有用心的人发送一组端口扫描消息,试图以此侵入某台计算机,并了解其提供的计算机网络服务类型(这些网络服务均与端口号相关),但是端口扫描不但可以为黑客所利 ...