世界之窗论坛's Archiver

狄烁stec 发表于 2008-5-27 16:54

自制常见广告过滤规则 最后更新:2008-09-13

感谢凤凰工作室,没有它就没有TheWorld
感谢正则表达式,没有它就没有这些规则
写在前面的话:
[quote]
1.由于本人能力有限,规则只能过滤掉一部分广告,并且对于产生的空白框架,我无能为力,请各位多多包涵.
2.请大家善用TheWorld的网站白名单功能(自己的邮箱,博客都可以填进去)
3.请大家善用TheWorld的禁止显示Flash功能(绝大多数Flash都是广告,看视频的时候再打开)
[/quote]
规则做了优化,可读性比较差...
VERSION 2008-09-13
[quote][code]//数字组合
#ex#<(I(?:MG|FRAME)|SCRIPT|EMBED|PARAM)\x20[^-_\\\/.?="'>]+(?:[-_\\\/.?="']+[^-_\\\/.?="'>]+)*?[-_\\\/.?="']+([1-9]\d{1,2}[-_xX][1-9]\d{0,1}[05])[-_\\\/.?="'&\x20][^>]*>(?:(?:(?!<\1\b)[\s\S]){0,512}?<]*?\1>)?###\\??\/[^>]*?\1>)?###<S STYLE="background:#EEE;color:#FFF;font-size:9pt" TITLE="$1">[$2]</S>
//关键词
#ex#<(A|SCRIPT|I(?:MG|FRAME)|EMBED|PARAM)\x20[^-_\\\/.?="'>]+(?:[-_\\\/.?="']+[^-_\\\/.?="'>]+)*?[-_\\\/.?="']+((?:360quan|9v|a(?:d(?:\d+|click|id|pictures|s(?:it)?|union|v(?:iew)?|)|l(?:i(?:mama|union)|l(?:4ad|yes\d*)))|b(?:anners?|iz5)|c(?:hinesefriendfinders?|l(?:ck?|ic(?:k(?:eye)?|))|p(?:[cdlmps]|v|ro))|d(?:annonces|otmore)|e(?:iv|te(?:un)?)|g(?:g(?:ao|img|)|o(?:cpc|oglesyndication)|uang(?:g(?:ao)?|))|h(?:ao(?:ei|ye)|eima8)|i(?:dc|focus)|j(?:iaoyou|oy)|keyrun|market|narrowad|p4p|qyule|s(?:ooe|pc(?:lick|ode)|tat)|tuotu|u(?:link|n(?:i(?:gg|on(?:sky)?)|stat|))|vo(?:done|gate)|webgame|y(?:eeyoo|igao)))[-_\\\/.?="'&][^>]*>(?:(?:(?!<\1\b)[\s\S]){0,512}?<]*?\1>)?###\\??\/[^>]*?\1>)?###<S STYLE="background:#EEE;color:#FFF;font-size:9pt" TITLE="$1">[$2]</S>
//脚本
#ex#<SCRIPT[^>]*>(?:(?!<\/SCRIPT>)[\s\S])*?(?:[-_/."'?=]|^)(google(?:syndication|_ad)|alimama|allyes|sogou_param|cpro)[-_/."'?=](?:(?!<\/SCRIPT>)[\s\S])*?<\/SCRIPT>###<S STYLE="background:#EEE;color:#FFF;font-size:9pt" TITLE="SCRIPT">[$1]</S>[/code][/quote]





中间省略N多版本


VERSION 2008-05-27[quote]
A版:显示被过滤的关键词和链接类型[code]#ex#<(A|SCRIPT|IFRAME|EMBED|IMG)[^>]+?(?:\.|\/|_)(a(?:2d|d(?:s?|s?click|tology|tools|union|\d{1,3})|l(?:imama|lyes\d*))|banner|gg|p4p|uni(?:gg|on(?:sys)?)|hao(?:ei|ye)|keyrun|googlesyndication|t2click|tuotu|vodone|yidaba|skype\d*|floatads?|firefox\.js|\w*gg\d*.js|(?:08|78|28|158|36578|89178|9v|360quan|c(?:hanet|o-cm|oopen)|p(?:v|hah)|yigao)\.c(?m|n)|pro(?:img)?\.163|(?:hc|ma)\.baidu|baidu\.com\/(?:baidu|cpro)|cpc\.sogou|ufile\.kuaiche|atm\.youku|biz5\.sandai|(?:s|p4)p\.tom)(?:\.|\/|"|_|\.js)[^>]*?>(?:[\s\S]*?(?:<)|)###\\?\/\1>)|)###<span style="background-color:Silver;color:White;font-size:9pt">[<$1>($2)]</span>[/code]B版:直接隐藏[code]#ex#<(A|SCRIPT|IFRAME|EMBED|IMG)[^>]+?(?:\.|\/|_)(?:a(?:2d|d(?:s?|s?click|tology|tools|union|\d{1,3})|l(?:imama|lyes\d*))|banner|gg|p4p|uni(?:gg|on(?:sys)?)|hao(?:ei|ye)|keyrun|googlesyndication|t2click|tuotu|vodone|yidaba|skype\d*|floatads?|firefox\.js|\w*gg\d*.js|(?:08|78|28|158|36578|89178|9v|360quan|c(?:hanet|o-cm|oopen)|p(?:v|hah)|yigao)\.c(?m|n)|pro(?:img)?\.163|(?:hc|ma)\.baidu|baidu\.com\/(?:baidu|cpro)|cpc\.sogou|ufile\.kuaiche|atm\.youku|biz5\.sandai|(?:s|p4)p\.tom)(?:\.|\/|"|_|\.js)[^>]*?>(?:[\s\S]*?(?:<)|)###[/code][/quote]
(把预览图片删掉了,太占页面高度...)
各位如果觉得不错就加到黑名单里吧:lol:

[[i] 本帖最后由 狄烁stec 于 2008-9-14 14:06 编辑 [/i]]

小絮 发表于 2008-5-27 22:15

此规则的威力不错,但我个人感觉这样全放在一条规则中不好,一是降低可读性,二是可能会对某些网页的框架结构产生影响破坏视觉效果。
如果能够将常见的广告推广联盟的代码单独分离出来,以后维护就容易多啦。

例如:
[code]
/(?:cpro|vodone|keyrun|union|unstat|p4p|7clink|heima8|alimama|adsence|allyes\.com|un\.265|lianmeng|clickeye|spcode)/
/\d{2,3}?[-_x]\d{2,3}\.(?:jpg|gif|swf|js)/
/[\W\d_]ad(?:s|v)?[\W\d_]/
#ex#<script[^>]*?[\W\d_]ad(?:s|v)?[\W\d_][\s\S]*?</script>###
#ex#<div[^>]*?[\W\d_]ad(?:s|v)?[\W\d_]((?!<div[^>]*?>)[\s\S])*?</div>###
#ex#<span[^>]*?[\W\d_]ad(?:s|v)?[\W\d_][\s\S]*?</span>###
[/code]
第一条是针对各种广告推广联盟的过滤代码,如果要更新只需要在最后将新的特征符加上即可。
第二条是针对“数字_数字”之类的图片、flash、脚本进行过滤
第三条是针对 含“ad”、“ads”、“adv”、“ad_”、“ad-”等的连接地址进行拦截下载,可拦截img、js、script等
第四、五、六条分别是对标题中含有“ad”特征符的script、div、span进行过滤。

狄烁stec 发表于 2008-5-27 22:49

规则里过滤的广告都是我近一年来有意无意搜集的,然后集成到一条规则,方便不喜欢思考的朋友直接拿来用使用.
[code]关键词
a(?:2d|d(?:s?|s?click|tology|tools|union|\d{1,3})|l(?:imama|lyes))|banner|gg|p4p|uni(?:gg|on(?:sys)?)|hao(?:ei|ye)|keyrun|googlesyndication|t2click|tuotu|vodone|yidaba|skype\d*|floatads?|firefox.js[/code]
[code]域名
(?:08|78|28|158|36578|89178|9v|360quan|c(?:hanet|o-cm|oopen)|p(?:v|hah)|yigao).c(?:om|n)[/code]
[code]推广广告
pro(?:img)?.163|(?:hc|ma).baidu|baidu.com/(?:baidu|cpro)|cpc.sogou|ufile.kuaiche|atm.youku|bliz5.sandai|(?:s|p4)p.tom[code]

qionglaoer 发表于 2008-5-30 23:05

好COOL,不错,谢谢楼主

qionglaoer 发表于 2008-5-30 23:10

好COOL的规则,下载使用了,谢谢楼主分享!

qionglaoer 发表于 2008-5-30 23:21

试用了一下,发现好多网站显示不正常哦,很多内容被过滤了,有些广告却还在,完全不实用,楼主看来要修改一下呀

狄烁stec 发表于 2008-5-31 10:31

回6楼
用一条规则屏蔽全部的广告是不太现实的,如果有那样的规则,我还真想学习学习.
这条规则一直在改进,能不能把你遇到的不能正常显示的网址发上来?我会改进的.:lol:

qionglaoer 发表于 2008-5-31 12:32

网易啊,新浪啊,这些大型门户网站都有问题,试了几个门户网站发现根本就不行,就没有试其它的了
打开它们的首页就不对,网易进邮箱看更干净

cestlavieyx 发表于 2008-6-1 00:33

...楼主太有才咯...

狄烁stec 发表于 2008-6-2 11:01

非常感谢qionglaoer的测试,因为我几乎不去新浪网易等等门户:lol:
更新了一下,测试没有大问题了.另外这个规则只是针对广泛的广告(大部分是推广),免不了会有大量的漏网之鱼.
麻烦斑竹看到后把顶楼的修改一下,我没有编辑权限:lol:[code]//整合版
#ex#<(A|SCRIPT|IFRAME|EMBED|IMG)[^>]+?\b(?:href|src)[^>]*?=[^>]*?(?:\.|\/)(ad(?:[-_][a-z*]+|\d{1,3}|files?|frame|gifs?|graph|images|cycle|show|s?click|tology|tools|league|s?union|2d|vs?|s?)|al(?:imama|l4ad|lyes\d*)|banner|cpc|g(?:uang?)?g(?:ao|img)?|pop(?:up)?(?:s)?|p4p|uni(?:gg|on(?:sys)?)|hao(?:ei|ye)|keyrun|googlesyndication|t2click|tuotu|vodone|yeeyoo|yidaba|tuijian|qyule|skype\d*|float(?:ads?)?|firefox\.(?:js|gif|html?)|\w*gg\d*.js|[\d?]{2,3}[-_x+][\d?]{2,3}|(?:(?!51|91|5460|163|126|265|17173|955)\d{2,6}|9v|360quan|c(?:hanet|o-cm|oopen)|p(?:v|hah)|yigao|sooe).c(?:om|n)|pro(?:img)?\.163|(?:hc|ma|utk)\.baidu|baidu\.com\/(?:baidu|cpro)|ufile\.kuaiche|atm\.youku|biz5\.sandai|(?:s|p4)p\.tom|eachnet\.com\/[\w./]*?\?adid)(?:\.|\/|"|=)[^>]*?>[\s\S]*?<\\?\/\1>###<span style="background-color:Silver;color:White;font-size:9pt">[&lt;$1&gt;($2)]</span>[/code][code]//分类版
//ad
#ex#<(A|SCRIPT|IFRAME|EMBED|IMG)[^>]+?\b(?:href|src)[^>]*?=[^>]*?(?:\.|\/)(ad(?:[-_][a-z*]+|\d{1,3}|files?|frame|gifs?|graph|images|cycle|show|s?click|tology|tools|league|s?union|2d|vs?|s?))(?:\.|\/)[^>]*?>[\s\S]*?<\\?\/\1>###<span style="background-color:Silver;color:White;font-size:9pt">[&lt;$1&gt;($2)]</span>
//关键词
#ex#<(A|SCRIPT|IFRAME|EMBED|IMG)[^>]+?\b(?:href|src)[^>]*?=[^>]*?(?:\.|\/)(al(?:imama|l4ad|lyes\d*)|banner|cpc|g(?:uang?)?g(?:ao|img)?|pop(?:up)?(?:s)?|p4p|uni(?:gg|on(?:sys)?)|hao(?:ei|ye)|keyrun|googlesyndication|t2click|tuotu|vodone|yeeyoo|yidaba|tuijian|qyule|skype\d*|float(?:ads?)?|firefox\.(?:js|gif|html?)|\w*gg\d*.js)(?:\.|\/|")[^>]*?>[\s\S]*?<\\?\/\1>###<span style="background-color:Silver;color:White;font-size:9pt">[&lt;$1&gt;($2)]</span>
//***x*** 型
#ex#<(A|SCRIPT|IFRAME|EMBED|IMG)[^>]+?\b(?:href|src)[^>]*?=[^>]*?(?:\.|\/)([\d?]{2,3}[-_x+][\d?]{2,3})(?:\.|\/)[^>]*?>[\s\S]*?<\\?\/\1>###<span style="background-color:Silver;color:White;font-size:9pt">[&lt;$1&gt;($2)]</span>

//域名
#ex#<(A|SCRIPT|IFRAME|EMBED|IMG)[^>]+?\b(?:href|src)[^>]*?=[^>]*?(?:\.|\/)((?:(?!51|91|5460|163|126|265|17173|955)\d{2,6}|9v|360quan|c(?:hanet|o-cm|oopen)|p(?:v|hah)|yigao|sooe).c(?:om|n))(?:\/|\.)[^>]*?>[\s\S]*?<\\?\/\1>###<span style="background-color:Silver;color:White;font-size:9pt">[&lt;$1&gt;($2)]</span>

//推广广告
#ex#<(A|SCRIPT|IFRAME|EMBED|IMG)[^>]+?\b(?:href|src)[^>]*?=[^>]*?(?:\.|\/)(pro(?:img)?\.163|(?:hc|ma|utk)\.baidu|baidu\.com\/(?:baidu|cpro)|ufile\.kuaiche|atm\.youku|biz5\.sandai|(?:s|p4)p\.tom|eachnet\.com\/[\w./]*?\?adid)(?:\.|\/)[^>]*?>[\s\S]*?<\\?\/\1>###<span style="background-color:Silver;color:White;font-size:9pt">[&lt;$1&gt;($2)]</span>[/code]

285900537 发表于 2008-6-2 11:12

我觉得过滤的同时还需要考虑到排版的问题

过滤不是为了过滤广告而过滤广告,而是为了改善浏览体验而过滤广告.

那个...太空荡荡了吧,看上去比较不爽~~...

不过楼主的规则还是比较强大的哈:)

qionglaoer 发表于 2008-6-3 13:32

宁愿有漏网之鱼也不要赶尽杀绝,我再来试试呀

qionglaoer 发表于 2008-6-3 13:34

还想请问一下楼主,你的这一条强悍的过滤规则还需不需要配合过滤区的基础黑名单使用呢?

狄烁stec 发表于 2008-6-6 13:41

这个规则和基础黑名单有重复的地方,配合黑名单的效果肯定更强.
我遇到过基础黑名单误杀的情况,又懒得分析,所以我从5月26号开始不再使用基础黑名单.
下面是我一直用的全部规则.
[url]http://hi.baidu.com/blacklistbot/blog/item/d5a9de6d16f83ffe43169435.html[/url]
不是广告哈:)

qionglaoer 发表于 2008-6-7 22:10

[size=9pt][<script>(baidu.com/cpro)][/size]

请问怎么设置才能不显示这些过滤之后留下的东东,谢谢

狄烁stec 发表于 2008-6-11 18:22

[code]#ex#<(A|SCRIPT|IFRAME|EMBED|IMG)[^>]+?\b(?:href|src)[^>]*?=[^>]*?(?:\.|\/)(?:ad(?:[-_][a-z*]+|\d{1,3}|files?|frame|gifs?|graph|images|cycle|show|s?click|tology|tools|league|s?union|4all|2d|vs?|s?)|al(?:imama|l4ad|lyes\d*)|banner|cpc|g(?:uang?)?g(?:ao|img)?|pop(?:up)?(?:s)?|p4p|uni(?:gg|on(?:sys)?)|hao(?:ei|ye)|keyrun|googlesyndication|t2click|tuotu|vodone|yeeyoo|yidaba|tuijian|qyule|skype\d*|float(?:ads?)?|firefox\.(?:js|gif|html?)|\w*gg\d*.js|[\d?]{2,3}[-_x+][\d?]{2,3}|(?:(?!51|91|5460|163|126|265|17173|955)\d{2,6}|9v|360quan|c(?:hanet|o-cm|oopen)|p(?:v|hah)|yigao|sooe).c(?:om|n)|pro(?:img)?\.163|(?:hc|ma|utk|spcode)\.baidu|baidu\.com\/(?:baidu|cpro)|ufile\.kuaiche|atm\.youku|biz5\.sandai|(?:s|p4)p\.tom|eachnet\.com\/[\w./]*?\?adid)(?:\.|\/|"|=)[^>]*?>[\s\S]*?<\\?\/\1>###[/code]其实就是把“###”后面的东东去掉就好啦:lol:

鲁速 发表于 2008-6-25 14:10

用了2楼的规则,新浪视频、新浪共享看来没问题。:D

flxgundam 发表于 2008-6-27 18:52

楼主看看是不是把[url]http://www.btchina.net/[/url]的搜索给杀了:sad:

neo007 发表于 2008-7-16 21:43

我是TW1.4版. 怎么无效啊. (试了个bibidu)

小絮 发表于 2008-7-16 22:25

回楼上:很抱歉,tw1.x目前的黑名单不支持正则,请您升级到tw2.x版本,其实新版本现在已经很稳定了。

狄烁stec 发表于 2008-7-17 21:11

忽然发现有编辑权限啦:water:
更新一下规则,顺便定一下,嘿嘿:lol:

ps:最近的广告回帖真多哦...

deepabyss 发表于 2008-8-29 18:33

......  用了这条规则,貌似把绿盟给废了

狄烁stec 发表于 2008-9-13 22:07

真不好意思,贴过来的时候忘了转义"<>"啦,更新一下

ice-fire 发表于 2008-9-14 10:36

谢谢楼主,能持续更新很好啊!

页: [1] 2

Powered by Discuz! Archiver 7.2  © 2001-2009 Comsenz Inc.