DeDeCMS采集的问题与技巧集锦!

in 程序开发
maxjay:
采集里怎么样过滤多个信息??

以下为引用的内容:
mizuno:
{dede:trim}1{/dede:trim}
  {dede:trim}2{/dede:trim}
  {dede:trim}3{/dede:trim}

tom111:
网易财经频道-财经要闻 的采集点分享

以下为引用的内容:
{dede:comments}
{!-- 采集列表获取规则 --}
{/dede:comments}

{dede:list source='single' sourcetype='list'
    varstart='2' varend='9'}  
{dede:url value='[url]http://finance.163.com/special/00251OFM/cjyw_0[/url][var:分页].html'}

{/dede:url}  
{dede:need}/06/{/dede:need}
{dede:cannot}{/dede:cannot}
{/dede:list}

{dede:comments}
{!-- 网页内容获取规则 --}
{/dede:comments}

{dede:art sptype='full'}
{dede:sppage}{/dede:sppage}

{dede:note field='title' value='[var:内容]'
isunit='' isdown=''}

{dede:match}<title>[var:内容]</title>{/dede:match}
{dede:trim}_网易财经-中国的投资门户{/dede:trim}

{/dede:note}

{dede:note field='body' value='[var:内容]'
isunit='1' isdown='1'}

{dede:match}<!-- main -->[var:内容]<a href="javascript:reply_allReply()" target="_self"><img src="" alt="网友评论" width="34" height="18" border="0" />{/dede:match}
{dede:trim}_网易财经-中国的投资门户{/dede:trim}
  {dede:trim}<iframe src="[url]http://adclient.163.com/html.ng/site=netease&affiliate=stock&cat=article&type=tvscreen&location=1[/url]" width="360" height="300" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>{/dede:trim}
{dede:trim}<a href="[url]http://finance.163.com[/url]">{/dede:trim}

{/dede:note}
{/dede:art}

------------------
5713090:
采集的时候,把文章内容里的链接去掉,过滤要怎么写

以下为引用的内容:
柏拉图:
{dede:trim}<a ([^>]*)>([^<]*)</a>{/dede:trim}

世界和平:
([^>]*)
什么意思,是不是代表任意字符!好想不是,
能不能解释一下具体的意思,

以下为引用的内容:
柏拉图:
除 '>' 以外的任意字符

cooldgjk:
哪里有NC采集入DEDE V3的教程哦?

以下为引用的内容:
tomosak:
http://bbs.dedecms.com/read.php?tid=1426&keyword=%B2%C9%BC%AF

必须:
不知老大在DedeCms 3.0.1版中解决采集内分页问题了吗!

以下为引用的内容:
柏拉图:
关于采集器和会员整合的问题都会在dedecms V3.1中处理,到时候会有很大的改进

dede采集过程中最麻烦的莫过于采集的正则过滤函数的编写。说实在的,dede在这点上和很多ASP CMS系统比如说动易等,采集的时候直接选择几个选项就可以了,简单的完成想过滤的东西。不过他们只局限于对文章内容的过滤不是很好。而DEDE却能对所有采集的字段进行过滤,功能上弥补了易用性的缺陷,期待柏拉图在后续版本中加上选择性过滤功能。
下面是在综合论坛上网友的各种正则的一个全集:

以下为引用的内容:
{dede:trim}
{/dede:trim}
{dede:trim}<param([^>]*)>{/dede:trim}
{dede:trim}<embed([^>]*)>([^>]*)</embed>{/dede:trim}
{dede:trim}<embed([^>]*)>{/dede:trim}
{dede:trim}</embed>{/dede:trim}
{dede:trim}<object([^>]*)>([^>]*)</object>{/dede:trim}
{dede:trim}<object([^>]*)>{/dede:trim}
{dede:trim}</object>{/dede:trim}
{dede:trim}<OBJECT([^>]*)>([^>]*)</OBJECT>{/dede:trim}
{dede:trim}<OBJECT([^>]*)>{/dede:trim}
{dede:trim}</OBJECT>{/dede:trim}
{dede:trim}<iframe([^>]*)>([^>]*)</iframe>{/dede:trim}
{dede:trim}<iframe([^>]*)>{/dede:trim}
{dede:trim}</iframe>{/dede:trim}
{dede:trim}<IFRAME([^>]*)>([^>]*)</IFRAME>{/dede:trim}
{dede:trim}<IFRAME([^>]*)>{/dede:trim}
{dede:trim}</IFRAME>{/dede:trim}
{dede:trim}<font([^>]*)>([^<]*)</font>{/dede:trim}
{dede:trim}<font([^>]*)>{/dede:trim}
{dede:trim}</font>{/dede:trim}
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
{dede:trim}<a([^>]*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}
{dede:trim}<td([^>]*)>([^>]*)</td>{/dede:trim}
{dede:trim}<td([^>]*)>{/dede:trim}
{dede:trim}</td>{/dede:trim}
{dede:trim}<tr([^>]*)>([^>]*)</tr>{/dede:trim}
{dede:trim}<tr([^>]*)>{/dede:trim}
{dede:trim}</tr>{/dede:trim}
{dede:trim}<tbody([^>]*)>([^>]*)</tbody>{/dede:trim}
{dede:trim}<tbody>{/dede:trim}
{dede:trim}</tbody>{/dede:trim}
{dede:trim}<table([^>]*)>([^>]*)</table>{/dede:trim}
{dede:trim}<table([^>]*)>{/dede:trim}
{dede:trim}</table>{/dede:trim}
{dede:trim}<img([^>]*)>{/dede:trim}
{dede:trim}<span([^>]*)>{/dede:trim}
{dede:trim}</span>{/dede:trim}
{dede:trim} {/dede:trim}
{dede:trim}<stong>{/dede:trim}
{dede:trim}</stong>{/dede:trim}

应用示例一:标题中空格的过滤
经常在采集文章的时候,标题文字里面有空格,采回来后应用很是麻烦,所以需要在过滤处添加下面正则过滤

以下为引用的内容:
{dede:trim} {/dede:trim}

应用示例二:来源作者中连接的过滤
在采集文章的时候,有的系统里面作者或者来源处都有连接,直接采集的话将连接采集回来了,然后由于这两个字段有限制,通常会造成需要采集的内容没有采集回来,所以需要在过滤处添加下面正则过滤

以下为引用的内容:
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}

应用示例三:文章内容中连接以及其他广告代码的过滤
这个就不用说了,当需要对所有东西过滤的时候,直接用上面所有的代码过滤就可以,但是实际应用中,我们只需要对连接、动画、调用等进行过滤。(这个需要按照对方内容里面具体含有什么代码来具体操作)
一般的只有链接,使用二中的代码进行过滤就可以了,但是实际上一般的网站现在都在内容里面加有广告等,所以采取下面的过滤正则就可以完成过滤:

以下为引用的内容:
{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
{dede:trim}<IFRAME([^>]*)>([^>]*)</IFRAME>{/dede:trim}
{dede:trim}<object([^>]*)>([^>]*)</object>{/dede:trim}
{dede:trim}<script([^>]*)>([^>]*)</script>{/dede:trim}

应用示例四:过滤GG广告代码
其实这个就是在上面的内容过滤,但是很多论坛里的网友经常问这个,所以单独作为一个应用列出来:

以下为引用的内容:
{dede:trim}<script([^>]*)>([^>]*)</script>{/dede:trim}

好了,上面四种应用基本上涵盖了采集的各种应用,掌握了这个,过滤基本上就不用求人了!

0 Comments

Leave a Reply

Using Gravatars in the comments - get your own and be recognized!

XHTML: These are some of the tags you can use: <a href=""> <b> <blockquote> <code> <em> <i> <strike> <strong>