注册 登录
落伍者 返回首页

yinyuoo的个人空间 https://www.im286.net/?545375 [收藏] [复制] [RSS]

日志

DedeCms采集规则写作教程

已有 1756 次阅读2008-12-6 20:14

DedeCms采集规则写作教程
DedeCms采集规则写作教程

由于截图背景白色,这样可能分不清楚截图和文字分不清楚,因此用粉色背景来区分。


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

Quote:
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这个网页

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

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


Quote:
{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(.*)&lt;/iframe>{/dede:trim}
{dede:trim}<style(.*)&lt;/style>{/dede:trim}
{dede:trim}<script(.*)&lt;/script>{/dede:trim}
{dede:trim}<option(.*)&lt;/option>{/dede:trim}
{dede:trim}<select(.*)&lt;/select>{/dede:trim}

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



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

自定义处理接口

这个说白了,就是PHP代码。只不过 “ @ me 表示当前标记值和最终结果“@ body表示原始网页”“ @ litpic 缩略图”,按照PHP的写法的就OK了,要不懂PHP的话这个我也帮不了你,你可以去慢慢学习。

评论 (0 个评论)

论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2025-5-3 04:31 , Processed in 0.020841 second(s), 21 queries , Gzip On.

返回顶部