上海SEO
时光静好,与君语;细水流年,与君同;繁华落尽,与君老...

织梦DedeCMS>正文

DEDE过滤规则||dedecms织梦常用采集过滤规则

2015-01-09 10:32

dedecms织梦采集站,采集侠配合织梦后台自带的采集,完美实现自动触发式采集。采集规则写法很简单,不做介绍,这里整理了一些常用的过滤规则。。。

{dede:trim}{/dede:trim}
{dede:trim}]*)>{/dede:trim}
{dede:trim}]*)>([^>]*){/dede:trim}
{dede:trim}]*)>{/dede:trim}
{dede:trim}{/dede:trim}
{dede:trim}]*)>([^>]*){/dede:trim}
{dede:trim}]*)>{/dede:trim}{dede:trim}{/dede:trim}
{dede:trim}]*)>([^>]*){/dede:trim}
{dede:trim}]*)>{/dede:trim}
{dede:trim}{/dede:trim}
{dede:trim}]*)>([^>]*){/dede:trim}
{dede:trim}]*)>{/dede:trim}
{dede:trim}{/dede:trim}
{dede:trim}]*)>([^>]*){/dede:trim}
{dede:trim}]*)>{/dede:trim}
{dede:trim}{/dede:trim}
{dede:trim}]*)>([^{/dede:trim}
{dede:trim}]*)>{/dede:trim}
{dede:trim}{/dede:trim}
{dede:trim}]*)>([^{/dede:trim}
{dede:trim}]*)>{/dede:trim}
{dede:trim}{/dede:trim}
{dede:trim}]*)>([^>]*){/dede:trim}

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

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

应用示例三:文章内容中连接以及其他广告代码的过滤
这个就不用说了,当需要对所有东西过滤的时候,直接用上面所有的代码过滤就可以,但是实际应用中,我们只需要对连接、动画、调用等进行过滤。(这个需要按照对方内容里面具体含有什么代码来具体操作)
一般的只有链接,使用二中的代码进行过滤就可以了,但是实际上一般的网站现在都在内容里面加有广告等,所以采取下面的过滤正则就可以完成过滤:
{dede:trim}]*)>([^{/dede:trim}
{dede:trim}]*)>([^>]*){/dede:trim}
{dede:trim}]*)>([^>]*){/dede:trim}
{dede:trim}]*)>([^>]*){/dede:trim}
应用示例四:过滤GG广告代码
其实这个就是在上面的内容过滤,但是很多论坛里的网友经常问这个,所以单独作为一个应用列出来:
{dede:trim}]*)>([^>]*){/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}

--------------------------------------------------------------------------------

其实呢,这个还是根据具体情况,选择比较好,写起来还是比较简单的,正则表达式虽然写起来简单,但是有的时候,它过滤的太多了

举个简单的例子:

1、采集中去除内容里的超链接的规则如下:
{dede:trim}<a([^>]*)>{/dede:trim}
{dede:trim}</a>{/dede:trim}
假如要将所有超链接内容都去除,规则是:{dede:trim}<a([^>]*)>([^<]*)</a>{/dede:trim}
这两个规则的不同通过下面代码来解释
例如文章代码中包含着如下内容:<a href="#">超链接</a>
通过第一个规则,我们采集来的结果是:超链接
通过第二个规则,我们采集来的结果是:空白,即是将所有内容都过滤掉了。

2、过滤广告
对于广告来说,过滤规则就得针对html中看到的内容使用规则了,例如某些广告仅仅是引用某个JS文件,例如
<script src=’/plus/ad_js.php?aid=1′ language=’javascript’></script>
这样的规则只需
{dede:trim}<script(.*)>{/dede:trim}
{dede:trim}</script>{/dede:trim}
如果某些广告的内容是JS代码写在<script></script>区间里的,例如GG的广告,那么过滤规则应该是:
{dede:trim}<script>(.*)</script>{/dede:trim}

以上就是本篇要介绍的内容,正则也许并不是每处都用得上,但当你了解其写法后,自己也可以写出一些更加适合自己使用的规则出来。

本文链接:https://www.0937.biz/post-218.html