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数据库表 ...
随机推荐
- 使用ConfigurationManager类读写配置文件
使用ConfigurationManager类 读写配置文件app.config,以下为代码: view plaincopy to clipboard print? using System; usi ...
- Python基础 - 获取N天前的日期
获取今天前第N天的日期 from datetime import datetime from datetime import timedelta def get_date(days=N): retur ...
- memcached协议
memcached协议 旧版:http://code.sixapart.com/svn/memcached/trunk/server/doc/protocol.txt 新版:https://githu ...
- WebSocket 服务器4
Java Websocket实例 Websocket 2015-04-11 14:11:54 发布 您的评价: 4.4 收藏 6收藏 介绍 现很多网站为了实现即时通讯,所用 ...
- [CareerCup] 7.3 Line Intersection 直线相交
7.3 Given two lines on a Cartesian plane, determine whether the two lines would intersect. 这道题说是在笛卡尔 ...
- 第一章:Javascript语言核心
本节是javascript语言的一个快速预览,也是本书的第一部分快速预览. 读此书之前,感谢淘宝技术团队对此javascript核心的翻译,感谢弗拉纳根写出此书.感谢你们无私的分享,仅以此笔记献给你们 ...
- Go-MySQL-Driver:一个Go语言的轻量级极速的mysql驱动
Go语言的 database/sql 包的一个 MySQL驱动. 特性 轻量级与快速 原生Go语言,没有C绑定,只有纯Go 没有不安全的操作(类型转换等) 动态处理崩溃的连接 动态连接池 支持大于16 ...
- 练习一_使用Git进行代码管理的心得
2015年9月19日,第一次软工实践课.助教给我们介绍了git,GitHub.显而易见,我并没有听懂.所以整个上午都在找教程,一个字一个字对着敲,然后敲着敲着就出错,回宿舍,继续敲,也是一样的... ...
- 过滤器-->GZIP压缩
1.创建一个 可以使用GZIPOutputStream 压缩的流 package com.zh.yasuo2; import java.io.IOException; import java.util ...
- iOS边练边学--NSURLSessionDataTask实现文件真正的断点续传
实现重点: NSURLSessionDataTask要设置请求头,从路径中获取文件已经下载的长度(文件没有下载过的话,长度为0).通过这个长度设置请求的Range 如图: 接收到请求的时候key:文件 ...