阅读:4562回复:14
讨论一下这条规则
不知道抄的谁的
是很有杀伤力 只是过于恶毒了 /[^lo|re|\%]a(\-)?d|bann|union/$~stylesheet |
|
|
1楼#
发布于:2007-10-25 23:28
记得刚来论坛的时候,好像也是从某个帖子里抄了这个规则,后来因为误杀太严重,换成那种前后缀的思路了。
这个规则应该误杀相当严重 bann和union都没有限制前后缀,夹杂在单词里面应该很容易误杀。 另外-应该是不用转义字符的写成-?就可以了 还有ad的前缀用的是[^]这种样式,取得应该是单一字符,可能也与规则的原作者的用意不符,比如说这个规则无法过滤lad,猜测本意应该是仅排除load、read、%ad这几种情况 |
|
2楼#
发布于:2007-10-25 23:28
连gmail都消灭了
然后感觉对页面载入有延迟 不知道是不是心理作用 |
|
|
3楼#
发布于:2007-10-25 23:28
为了理解这一条规则
特意在网上找了个正则表达式30分钟入门教程 正经学习正则表达式,直看得昏昏欲睡,最后不了了之,也不记得是看完了还是没看完 |
|
|
4楼#
发布于:2007-10-25 23:28
呵呵,规则还是用自己的好!像我并没有去学正则表达式,因此我现在所有规则都是常规的规则或者是元素隐藏规则,一方面自己看的懂,另一方面也不会造成误杀,同时效率比正则高多了,因为正则表达式最后也是解释成常规规则进行过滤的,当你的正则表达式过于笼统,因此过滤的时候需要更多的时间进行判定,所以有延迟感也就不足为奇了!这在我的一篇帖子里面有提到---使用adblockplus的几个误区!
|
|
|
5楼#
发布于:2007-10-25 23:28
这条规则是我写出来,很恶毒吗?现时已经转用userContent.css过滤广告了
embed, a[href*="ads"] img, *[src*=ads], a[href*="adv"] img, *[src*=adv], a[href*="click"] img, *[src*="click"], div[id^="ad_"] { display: none !important; } |
|
|
6楼#
发布于:2007-10-25 23:28
呵呵,这条规则原作者出来了~!
|
|
|
7楼#
发布于:2007-10-25 23:28
已经半年多没来这个论坛了,刚刚跑过来看一下就发现有人讨论自己在一年前发出的Adblock Plus规则。
喜欢http://forums.mozine.cn/,它的速度快多了 |
|
|
8楼#
发布于:2007-10-25 23:28
呵呵,谈到规则,给大家晒一晒我的一条和楼主那条规则同时期合并摘抄,并积累到现在的AD相关规则
/(\.|\/|_|-)(top|js|yahoo-|Wait|soft|hot|sale|999|news|my|show|float|good|ebay|page)?a(_|-)?d(_|-)?s?(v-side|head|brite|puba|ssite|juggler|file|bottom|sence|content|s..|vert(ising|isement)?|rotator|view|bot|c_|client|council|gif|graph|info|log|pic|gifs|ver|foot|fshow|sina|banner|click|flow|ima?ge?|frame|log|serv(er|e)?|stream|type|v|js|trix|xchange|wrapper|huajun|user)?s?\d?(\.|\/|_)/ 呵呵,其实过滤效果是很不错的,就是太长了^_^ |
|
9楼#
发布于:2007-10-25 23:28
太长了,解析的时间估计也不短!
|
|
|
10楼#
发布于:2007-10-25 23:28
这几天正在折腾过滤规则,起因就是这条长长的规则。
开始的时候觉得这条规则太长了,而且前后缀、特殊符号的搭配太多,应该有不少冗余,所以想要精简一下(真没想到这么麻烦)。 然后就把这条规则还算简单的分成了前后缀两部分,过滤效果与之前应该说区别不大 后来在搜索的时候偶然发现了隔壁的一个讨论过滤规则和正则表达式的贴子,参照上面的思想把一条正则表达式拆成了尽量不会冗余匹配的几个部分。拆起来非常费劲,随机访问了一些垃圾网站才较好的实现了过滤。原先这条AD规则由于过于复杂,直接放弃了,改为重新制作。光是这条规则就搞出了五六条相关的小正则还有挺多的简单过滤规则 这个时候应该说挺满意的,一个个的小规则看上去还不错,就是很多的规则具有相似性,碰到问题修改起来比较麻烦。不过同样的灵活性也更好一些,可以针对单一的规则进行优化,不容易顾此失彼。 再后来就是楼主这个讨论帖子闹的了。 一方面经历过复杂前后缀的烦恼,觉得placeless还有badboy的思路挺好,想要把相关的规则进行替换。这是一个改进方向。 另一方面,fang版主的那篇文章勾引我去作者的网站大略了解一下Adblock plus的运行问题,解决了什么样的规则效率高的问题。 这两方面综合起来导致了第三次大规模的修改,把前面拆开的规则很大程度上又给合并、淘汰了,目前处于试运行阶段。 折腾规则实在是个累活,在此向adp中国区规则的作者表示敬意,不容易啊 |
|
11楼#
发布于:2007-10-25 23:28
呵呵,尽量用常规的规则,100条常规规则和1条的过滤效率是一样的。正则主要是精简,但是解析需要一些时间!chinalist也基本都是常规规则和元素隐藏规则啊,元素隐藏规则最后也是转换为常规规则来执行!
|
|
|
12楼#
发布于:2007-10-25 23:28
常规规则最大的问题是通用性太差,特别是那种能找出shortcut的规则。
用正则表达式在精确描述和通用性方面有无可比拟的优势,不需要针对特定的网站制定规则 两者的应用范围是有区别的 正则表达式的解析速度不是问题,常规规则最终也是要变成正则表达式来执行。其匹配应该是类似词法分析器。 作者之所以推荐常规规则是因为正则表达式无法使用shortcut进行筛选 |
|
13楼#
发布于:2007-10-25 23:28
在Adblock论坛还学到了一条广告过滤的经验之谈:
“广告过滤要低调” 呵呵,与广大站长朋友共勉^_^ |
|
14楼#
发布于:2007-10-25 23:28
|
|
|