织梦dedecms自带的采集系统确实很不错,可以免去一些手工添加信息的麻烦,设置一下dede采集规则、采集点,然后点采集,OK,几百篇文章就搞定了。
下面介绍几种常用采集规则的过滤方法:
应用示例一:
dedecms过滤标题空格经常在采集文章的时候,标题文字里面有空格,采回来后应用很是麻烦,所以需要在标题处过滤处添加下面正则过滤:{dede:trim} {/dede:trim}
注意:
中间是有一个空格。
应用示例二:
来源作者中连接的过滤在采集文章的时候,有的网站系统里面作者或者来源处都带有连接,直接采集的话将连接采集回来了,然后由于这两个字段有限制,通常会造成需要采集的内容没有采集回来,所以需要在过滤处添加下面正则过滤。
1,如果要保留dedecms链接中的文字:
{dede:trim}<a ([^>]*)>{/dede:trim}{dede:trim}</a>{/dede:trim}
2,如果去掉链接中的文字:
{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}
过滤div可以用:
{dede:trim}]*)>{/dede:trim}
{dede:trim}{/dede:trim}
过滤js用下面这个
{dede:trim}]*)>([^<]*){/dede:trim}
过滤未知变量字符固定(.*)固定。
应用示例四:
过滤GG广告代码其实这个就是在上面的内容过滤,但是很多论坛里的网友经常问这个,所以单独作为一个应用列出来:
{dede:trim}<script ([^>]*)>([^>]*)</script>{/dede:trim}
下面是在综合论坛上网友的各种正则的一个dedecms规则过滤全集:
{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}<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}
上面这一段万能采集过滤代码,不能用来采集带有视频的页面,因为已经过滤了视频,最后的四行是过滤掉视频的。
如果你确认要采集视频,那就去掉最后四行。