,欢迎光临!
您当前位置:网站首页 >> 技术教程 >> DedeCMS >> 如何正确写DedeCms采集规则

如何正确写DedeCms采集规则

2012-03-31 11:00:25 来源:旭日站长 浏览:1057

如何正确写DedeCms采集规则:

下面是详细过程,网上希望大家能认真看完慢慢去琢磨应该能帮助到你的:

第一步、确定采集的网站(我们以DEDE的官方站做为采集站做示范)


引用
http://www.dedecms.com/plus/list.php?tid=10


第二步、确定被采集站的编码。打开被采集的网页之后,查看源代码(IE:查看 - > 源代码)

 


在<head> </head>之间找到 charset 这个,后面就显示网页的编码了,截图的是 “gb2312”


第三步、采集列表获取规则写法

来源网址写法 很明显pageno是表示分页页码 那么有多页列表的采集就要用“[var:分页]”来替换分页页码,截图如下
http://www.dedecms.com/ plus/list.php?tid=10&pageno=[var:分页]

 

 

文章网址需包含 网址不能包含 这两个一般不用写,用于采集列表范围有很多不需要的连接才用到他来做过滤使用。

上面的网址并没有带有至于http://www.dedecms.com 为什么要在前面加上,这个就不要我说了吧。

如果只有一个列表页,那么在来源网址就直接写上网址就OK了。

 

注意这里,最关键就是这里。

下面就是“采集获取文章列表的规则写法”,
就是上面打开的被采集页面的源代码文件,找到文章列表之前 和本页面没有其他相同的代码
在DedeCms官方站的列表页文章列表之前和之后最近的且没有相同的是“<div class="newslist">”和“<div class="pages">”,分别写入“起始HTML”和“结束HTML”,写法看截图

 


第四步、采集文章标题,文章内容,文章作者,文章来源等规则写法,分页采集等。
“起始HTML”和“结束HTML”写法参考第三步中的“获取文章列表的规则写法”

 


 


下面讲的是如何采集分页内容 看截图圈着的地方 截图

 

文档是否分页 里面选择“全部列出的分页列表”

“起始HTML”和“结束HTML”写法参考第三步中的“获取文章列表的规则写法”

 


这里本来还有一张截图的,由于论坛配置,他现在显示在最上面.

在文章内容那里点上“分页内容字段”,不选择就不能采集。

“下载字段里的多媒体资源 ”这个是采集的时候把多媒体资源(视频,软件,图片等)下载到本地,也就是你的网站。

下面�*****斯嬖�

过滤规则需要用 “正则表达式”来写,但是对于新手来说,这个简直是比登天还要难,具体的可以参考

 

http://www.dedecms.com/web-art/PHP_jiaocheng/20070420/38633.html这个网页

下面教大家一个简单的方法

把下面的过滤规则复制到你那里去,几乎就可以了,也可以自己分析一下,说不定你就懂了

引用
{dede:trim}<span(.*)>{/dede:trim}
{dede:trim}</span>{/dede:trim}
{dede:trim}<div(.*)>{/dede:trim}
{dede:trim}</div>{/dede:trim}
{dede:trim}<li>{/dede:trim}
{dede:trim}</li>{/dede:trim}
{dede:trim}<ul>{/dede:trim}
{dede:trim}</ul>{/dede:trim}
{dede:trim}<font(.*)>{/dede:trim}
{dede:trim}</font>{/dede:trim}
{dede:trim}<table(.*)>{/dede:trim}
{dede:trim}</table>{/dede:trim}
{dede:trim}<tbody(.*)>{/dede:trim}
{dede:trim}</tbody>{/dede:trim}
{dede:trim}<tr(.*)>{/dede:trim}
{dede:trim}</tr>{/dede:trim}
{dede:trim}<td(.*)>{/dede:trim}
{dede:trim}</td>{/dede:trim}
{dede:trim}<a(.*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}
{dede:trim}<iframe(.*)</iframe>{/dede:trim}
{dede:trim}<style(.*)</style>{/dede:trim}
{dede:trim}<script(.*)</script>{/dede:trim}
{dede:trim}<option(.*)</option>{/dede:trim}
{dede:trim}<select(.*)</select>{/dede:trim}

{dede:trim}<embed(.*)>{/dede:trim}
{dede:trim}</embed>{/dede:trim}
{dede:trim}<param(.*)</param>{/dede:trim}
{dede:trim}<object(.*)</object>{/dede:trim}

 

当然 上面这些不能用来采集带有视频的,因为已经过滤了

自定义处理接口

这个说白了,就是PHP代码。只不过 “ @ me 表示当前标记值和最终结果“@ body表示原始网页”“ @ litpic 缩略图”,按照PHP的写法的就OK了

发表评论
网名:
评论:
验证:
共有0人对本文发表评论查看所有评论(网友评论仅供表达个人看法,并不表明本站同意其观点或证实其描述)
关于本站 - 联系我们 - 本站热点 - 会员中心 - 下载首页 - 版权声明
powered by 旭日软件(http://www.webmaster5u.com) 。
威尼斯人官网,旭日软件园-提供免费小软件下载,电脑教程和QQ表情包下载为主要宗旨.同时有网站运营,编程教程,网页特效,手机教程,游戏攻略和IT资讯等内容,打造常用软件下载、内容丰富的站长学习!