Board logo

标题: 如何让tw2.0广告过滤做的更好 [打印本页]

作者: xym110    时间: 2006-5-5 21:24     标题: 如何让tw2.0广告过滤做的更好

妈的刚刚用了马桶2.0测试版杀广告好强
开网页..广告全部光光..实在是强悍呢..tw一定要借鉴啊...

[ 本帖最后由 xym110 于 2006-5-11 11:29 PM 编辑 ]
作者: 冰灼    时间: 2006-5-5 21:46

浮动元素呢?比如动感地带的跟踪菜单(http://m-zone.bmcc.com.cn
作者: luoice    时间: 2006-5-5 23:10

楼主呀,给我一个邀请吗!!
作者: cj8631    时间: 2006-5-5 23:21

原帖由 luoice 于 2006-5-5 11:10 PM 发表
楼主呀,给我一个邀请吗!!

maxthon 2.0.0.2830 免邀请预览破解版,龙卷风出的。
下载地址:http://u.winzheng.com/webfile.aspx
文件提取码:112233445500
作者: luoice    时间: 2006-5-6 00:57

用了,不能过滤浮动广告,呵呵
作者: hayem    时间: 2006-5-6 10:36

MT的广告过滤功能比TW差很多
作者: EXIORI    时间: 2006-5-6 10:57

差不多的说。
现在看不出来功能。没有可比之处。
作者: linser    时间: 2006-5-6 12:47

MT 2.0的广告过滤很强了,甚至可以无视HTML标签,过滤网页内一切内容,而且所有过滤项目都支持正则表达式,FF的ADBlock过滤条件基本上都能直接使用。

MT 2.0默认的广告过滤设置,可以让SINA网上连文字广告也几乎没有。

广告过滤功能已经大大超过ADBlock了。
作者: linser    时间: 2006-5-6 12:50

原帖由 EXIORI 于 2006-5-6 10:57 AM 发表
差不多的说。
现在看不出来功能。没有可比之处。


广告过滤已经能用了,在浏览器右下角AD Hunter
作者: 相信自己    时间: 2006-5-6 14:30

感觉一般,因为不能光看一个网站啊。其实我用了MT2.0很多网站都屏蔽不了的说!
作者: 逍虎天煌    时间: 2006-5-6 15:08

不喜欢MT,就是因为它的菜单感觉起来太乱
作者: linser    时间: 2006-5-6 18:23

原帖由 相信自己 于 2006-5-6 02:30 PM 发表
感觉一般,因为不能光看一个网站啊。其实我用了MT2.0很多网站都屏蔽不了的说!


可以的,需要你设置,SINA的过滤设置是针对SINA网站的
作者: xym110    时间: 2006-5-7 13:08

tw一定要好好研究他的广告过滤...实在是他妈的强大
作者: hayem    时间: 2006-5-8 07:37

我用TW。平时不用黑名单的,也没有想象中的那么多不可接受的广告嘛,何况TW只有一个文件还那么小(这方面我最佩服TW了,我不是枪手,只是在TW的论坛上混混)。MT就不一样了,不用黑名单要吓死人

[ 本帖最后由 hayem 于 2006-5-8 07:41 AM 编辑 ]
作者: xym110    时间: 2006-5-8 13:13

tw的安全模式自带黑名单
作者: 无边无际    时间: 2006-5-8 13:14

我的建议是把(超强广告过滤)分离出来,做成插件。TW只带基本广告过滤。成插件了,想怎么弄都行。


PS:SINA的过滤设置是针对SINA网站的,sina网站广告机制改变了呢?--受制于人不是好的解决方法。
作者: Aycox    时间: 2006-5-8 14:40

粗略看了一下MT2,要说广告过滤的确是可定制性和途径增强了不少,值得借鉴,但是基于用户能够把玩这些项目的情况下而言的,牛不牛是个相对说法,预定的设置多少受制于网站,也不定如说的那般神乎。
作者: fmrobin    时间: 2006-5-8 18:42

新浪硬件版的左面一个产品对比的漂浮广告我的去不了,刷了两次没用,拦截漂浮的功能时好时坏,是不是我的  rpwt啊,去漂浮功能不是很稳定的说

[ 本帖最后由 fmrobin 于 2006-5-8 06:43 PM 编辑 ]
作者: starsoft    时间: 2006-5-8 18:55

原帖由 xym110 于 2006-5-8 01:13 PM 发表
tw的安全模式自带黑名单



TW的安全模式没有什么自带黑名单.
作者: hongmu    时间: 2006-5-8 19:48

现在习惯了TW了,再用MT,感觉挺别扭的!
还是只用TW!呵呵!
作者: AY    时间: 2006-5-8 21:42

以事论事,m2 的过滤系统采用了 admuncher, proxomitron 等 local proxy 原理,任何源码,不论是广告或恶意代码均可以准确过滤,肯定是目前浏览器中最强的。

过滤规则一般用户肯定不会写,但不要忘记他们论坛有不少热心用户,另外 m2 官方也可能不时增加/更新规则 (留意 update 及 version 属性)。
作者: Stefanie    时间: 2006-5-8 21:46

原帖由 AY 于 2006-5-8 09:42 PM 发表
以事论事,m2 的过滤系统采用了 admuncher, proxomitron 等 local proxy 原理,任何源码,不论是广告或恶意代码均可以准确过滤,肯定是目前浏览器中最强的。

过滤规则一般用户肯定不会写,但不要忘记他们论坛有不少热心用户,另外 m2 官方也可能不时增加/更新规则 (留意 update 及 version 属性)。


刚看到这个帖子的时候就想说的,但是没组织好语言...

所以,引用一下~


另外:为什么TW不过滤自动下载的文件?
作者: aaaaaaab    时间: 2006-5-8 22:41

作天试用了一天,是很强,不过强到能让我上不了网站。。。。
作者: 亡灵法师    时间: 2006-5-8 22:50

其实个人觉得广告过滤能做到adblock那种程度就不错了,兼容正则表达式和名单。
作者: zlowly    时间: 2006-5-9 00:20

对于初级用户的话,肯定是那种定时更新广告规则的过滤系统要方便,但是由于带了很多没必要的规则(例如不少规则其实是针对国外广告的,很多人根本不会去浏览带有这种广告的网站),速度肯定不够理想。

如果有MT2这种过滤系统,高级用户就能针对自己常去的网站定制规则,效果肯定是最好的。

突然有个构想,其实过滤系统应该针对过滤规则过滤掉广告的数量,定时自动排序,将过滤最多的放在前面先匹配,长期没有起过滤左右的规则自动失效(当然允许强制永久生效)。这样的效率应该能够更高。

[ 本帖最后由 zlowly 于 2006-5-9 12:23 AM 编辑 ]
作者: Egoldclub    时间: 2006-5-9 01:13

原帖由 hongmu 于 2006-5-8 07:48 PM 发表
现在习惯了TW了,再用MT,感觉挺别扭的!
还是只用TW!呵呵!

呵呵,我对TW也是很热情的呀。

可惜基本不能满足有效的应用,我是说,总是自己垮,如何用呢。
并且一个基本的刷新功能一直没有解决,好象也没有看到其他人反应:

就是按F5刷新非常弱,而直接在地址栏里面按回车没有一点动静(反应)!

实际上,IE系浏览器,NetCaptor只是过滤稍弱了并且好长没有更新了,其他任何款也没有超过它的!
作者: 亡灵法师    时间: 2006-5-10 00:41

原帖由 zlowly 于 2006-5-9 12:20 AM 发表
对于初级用户的话,肯定是那种定时更新广告规则的过滤系统要方便,但是由于带了很多没必要的规则(例如不少规则其实是针对国外广告的,很多人根本不会去浏览带有这种广告的网站),速度肯定不够理想。

如果有MT2这种过滤系统,高级用户就能针对自己常去的网站定制规则,效果肯定是最好的。

突然有个构想,其实过滤系统应该针对过滤规则过滤掉广告的数量,定时自动排序,将过滤最多的放在前面先匹配,长期没有起过滤左右的规则自动失效(当然允许强制永久生效)。这样的效率应该能够更高。


嘿,这个兄弟的构想有点意思。很多时候没用的过滤项目浪费了CPU时间,也减慢了页面打开速度,这个主意倒是能够解决。

不过我想这样也有点小问题:
1、对过滤项目进行计数,不知道会不会增加过多的CPU时间。
2、是不是设置一部分过滤项目永不失效(比如*/ad/*这样的,免得误删除),将自动排列的项目设置为临时添加过滤(有的时候一些站点就访问几次,不添加吧,看着烦心,添加吧,过几天就忘了,到后来项目越来越多)。
作者: zlowly    时间: 2006-5-10 02:50

1、个人认为,对过滤项目计数应该不会增加负担,也就是在规则的属性里增加个计数,过滤成功后递增计数,每次或定期甚至只是关闭浏览器时将计数保存到文件,看不出会花费什么资源。
2、甚至可以记录最近一次生效时间,如果你看到一个生效过几百次,但是最近几个月已经不生效的规则,应该能推断出这个规则只是针对某个网站,而这个网站不是改版了就是你已经不访问了,通常这样的规则也是可以删除的。
作者: linser    时间: 2006-5-10 08:49

原帖由 无边无际 于 2006-5-8 01:14 PM 发表
我的建议是把(超强广告过滤)分离出来,做成插件。TW只带基本广告过滤。成插件了,想怎么弄都行。


PS:SINA的过滤设置是针对SINA网站的,sina网站广告机制改变了呢?--受制于人不是好的解决方法。



机制改变了就自己修改过滤规则啊。

MT2.0的广告过滤是可以指定为某个网站有效或者全部网站有效的。
作者: linser    时间: 2006-5-10 09:03

用计数来判断规则是否有效不是个好办法,很少用到的规则并不等于用不到。

加快过滤速度的最好办法是设置一个过滤cache,首次访问时把所有过滤规则匹配一次,然后把用到的规则存入cache,以后在此访问就直接从cache读取规则,除非用户指定刷新过滤cache,不过这也有个问题,如果网站经常改变广告的来源或者每个页面都有不同的广告来源就效果不大了。

还有个办法是将过滤规则分为网站私有和公有,公有规则对所有网站有效,而私有规则只针对某个网站有效,很多时候用户添加的规则都是针对某个网站的,这样可以大幅度减少需要匹配的规则数量。

如果有服务器支持的话,这些私有过滤规则可以让用户提交到网上,并且浏览器定期下载更新,就像病毒库一样。

[ 本帖最后由 linser 于 2006-5-10 09:16 AM 编辑 ]
作者: Stefanie    时间: 2006-5-10 09:51

原帖由 linser 于 2006-5-10 09:03 AM 发表
就像病毒库一样


好前卫的想法...
作者: 无边无际    时间: 2006-5-10 10:40

原帖由 zlowly 于 2006-5-10 02:50 发表
1、个人认为,对过滤项目计数应该不会增加负担,也就是在规则的属性里增加个计数,过滤成功后递增计数,每次或定期甚至只是关闭浏览器时将计数保存到文件,看不出会花费什么资源。
...


花不花资源试了你就知道,看看 starsoft 的帖子分析得很详细
http://bbs.ioage.com/viewthread. ... hlight=%C3%FB%B5%A5

要不试试把这里13楼的有效名单(近900条)加到你的黑名单,打开网页一定卡。
http://bbs.ioage.com/viewthread. ... ge=1&highlight=

原帖由 linser 于 2006-5-10 08:49 发表

机制改变了就自己修改过滤规则啊。

MT2.0的广告过滤是可以指定为某个网站有效或者全部网站有效的。

我的想法是分离从来,过滤自定义更强些。“过滤规则分为网站私有和公有”这个主意不错

做到像病毒库那样更新很不好,因为很多人就会下载到很多自己从来不要的规则,无故增加负担(虽然说是私名单)。比如:新浪网

有的人是:*.*f     有的是: *.gif          有的是  *.swf
如果都上传了又下载更新了,那他们就得到,三条    :*.*f   ,  *.gif   ,   *.swf
那当下次访问sina网浏览器可能要过滤三次
作者: linser    时间: 2006-5-10 11:22

原帖由 无边无际 于 2006-5-10 10:40 AM 发表


花不花资源试了你就知道,看看 starsoft 的帖子分析得很详细
http://bbs.ioage.com/viewthread. ... hlight=%C3%FB%B5%A5

要不试试把这里13楼的有效名单(近900条 ...


多个过滤设置的问题很好解决

遇到多个过滤设置时,可以在浏览器窗口上放置一个提示条(就像IE6 SP2的弹出窗口拦截提示一样),让用户选择一个,或者让用户自定义,如果可能的话,最好有专人定期维护这个过滤库

或者也可以将过滤库作为一种选择,完全让用户来决定是否使用。
作者: 一箱    时间: 2006-5-10 11:25

有人注意过OPERA的过滤功能吗?选择一下的话,那才叫干脆利落.
作者: 无边无际    时间: 2006-5-10 11:43

原帖由 linser 于 2006-5-10 11:22 发表


多个过滤设置的问题很好解决

遇到多个过滤设置时,可以在浏览器窗口上放置一个提示条(就像IE6 SP2的弹出窗口拦截提示一样),让用户选择一个,或者让用户自定义,如果可能的话,最好有专人定期维护这个[c ...


不觉得麻烦么?如果有十条岂不询问十次?也许我理解错了你的意思
作者: linser    时间: 2006-5-10 11:52

原帖由 一箱 于 2006-5-10 11:25 AM 发表
有人注意过OPERA的过滤功能吗?选择一下的话,那才叫干脆利落.


Opera 9.0的过滤方便是很方便,但并不强大,很多东西还是没法过滤的

FF的ADBlock Plus+RIP+Greasemonkey和MT 2.0的AD Hunter都能做到网页全文过滤和内容替换,这点Opera还不行。

ps:“内容替换”最常见的用途就是修复google的网页快照^^
作者: linser    时间: 2006-5-10 11:53

原帖由 无边无际 于 2006-5-10 11:43 AM 发表


不觉得麻烦么?如果有十条岂不询问十次?也许我理解错了你的意思


不用啊,做个下拉选择,只要第一次访问该网站是选一次就行
作者: tongang    时间: 2006-5-10 13:22

最简单的方法..装个admuncher....一切都清爽了...哈哈
作者: Aycox    时间: 2006-5-10 13:44

讨论的好不热闹,黑名单记数排序法以及过滤库虽是比较好的,可总归有其缺点,这点用输入法做比喻就很能说明问题,就像广告不可能大部分时间都是规率的一样,用户的使用有时也是捉摸不定的,从用户而非技术的角度来说,用户可能想几乎任何时候这种广告功能都应是有效率、不卡、简便的。

过滤库的作用可能更多的是提供给用户的一种参考,上网习惯和过滤要求的不同也注定决定了没有万能的过滤库。
作者: zlowly    时间: 2006-5-10 14:55

正是由于没有万能的过滤库,所以也从一个侧面说明,过滤系统总是可以改进得更好的。
花不花资源的问题,我从starsoft 的帖子里并没看出增加计数器功能相关内容,他的贴子论点是规则过多会消耗很多资源,这个其实很显而易见,所以我也前也大力推荐应该使用正则表达式来减少规则数目。
计数器只是很简单的增量计数,在任何编程语言里都应该属于最低负荷的操作,这和需要算法实现的规则匹配完全不是一个数量级。虽然我的没做过浏览器的开发,但是以我经验相信技术上和复杂度上应该是很低的。

至于说很少用到的规则并不等于用不到,可以通过阀值设置,让用户自己确定。例如设定过去3个月都没有用到的规则自动失效。而且还可以强制永久生效,满足所有要求。

过滤库的概念并不新鲜,Firefox的就有插件自动更新Adblock的规则,但是过滤库通常都是包含许多人的规则,他们访问的网站不一定是我们访问的网站,就会有许多无用的规则,影响效率。对于很多喜欢自力更生的人,总是希望通过自己努力实现符合自己要求的更高效率的。

[ 本帖最后由 zlowly 于 2006-5-10 02:57 PM 编辑 ]
作者: Aycox    时间: 2006-5-10 16:30

记数器匹配黑名单,不是从记数器本身的技术实现或是功能上说的,而是说的命中效率(就像输入法的字词排序一样),规率情况下自然很好,可很多时候并非是规率的,当然 zlowly 显然已经为此提到建议,就是阀值设置。

而正则表达式,我大致理解的好比是一个 IF 语句的嵌套,如果第一个匹配了就不会进行以下的运算,假如常规的黑名单也是匹配后不会再进行其它的匹配,那么两者的区别可能就剩下眼见条目多少了,不知理解是否有误。
作者: AY    时间: 2006-5-10 16:44

增加计数器不会对效率资源有大响,不过是增加一些 variables 而已。 Proxomitron 便一直有这功能:
作者: AY    时间: 2006-5-10 16:46

原帖由 tongang 于 2006-5-10 01:22 PM 发表
最简单的方法..装个admuncher....一切都清爽了...哈哈

m2 就是采用 admuncher 的方法,而且更进一步支持 regular expression 及 site specific 过滤规则。
作者: 亡灵法师    时间: 2006-5-10 18:39

个人意见全局过滤条件和站点私有条件没有必要。因为我们有很简单的方法,就是通配符。

我觉得zlowly兄弟说的,再加上上面我说的使用2个类别,一个是固定(不删除)类别,一个是临时(可自动删除)类别。这样可以排除误删除的可能。

另外还有一点,我觉得过滤内容里面或许改加一个注释的功能,有的时候名单多了,但是自己却忘了某个过滤条件是哪个站点添加的。

PS:这样的讨论很好,虽然我们的想法不一定对也不一定有用,但要是能给凤凰他们带来点灵感,那也是不错的。
作者: linser    时间: 2006-5-10 20:07

原帖由 Aycox 于 2006-5-10 01:44 PM 发表
讨论的好不热闹,黑名单记数排序法以及过滤库虽是比较好的,可总归有其缺点,这点用输入法做比喻就很能说明问题,就像广告不可能大部分时间都是规率的一样,用户的使用有时也是捉摸不定的,从用户而非技术的角度来 ...


宏观上,的确没有完美的过滤设置,但是,针对某个网站来说,过滤设置多数情况下都是固定的,即使不同用户所需要的过滤设置也都是相同的,偶所说的过滤库存放的是针对某个网站的过滤包,只针对该网站有效,而不是单独的过滤规则。这个功能很容易实现,而且能十分有效的提高过滤效率。

计数器并不能提高过滤效率,也不能用输入法的词频调整来做参考,原因很简单,用户在输入文字时,所需要的字是已知的,因此词频调整把常用的字放在前面能增加命中率,减少候选字的查询,但是广告过滤则不同,广告过滤时的规则总是未知的,不能因为规则排在后面而不去管他,始终都需要全部匹配一次。

例如设定过去3个月都没有用到的规则自动失效。而且还可以强制永久生效,满足所有要求。


这也有很多问题,如果某个网站用户不常去,或者只在需要时才会去,而用户并不知道下一次何时会去,那么很可能再去时过滤规则就失效了,用户不得不再一次添加,这种情况很普遍,如果设置为永久有效,那么针对该网站的那些设置对于其他网站来说,就是个负担了,同样降低效率。

原帖由 AY 于 2006-5-10 04:44 PM 发表
增加计数器不会对效率资源有大响,不过是增加一些 variables 而已。 Proxomitron 便一直有这功能:


跟ADBlock一样,这儿的计数器只是用来统计而已,让用户有个参考,并不是用来做词频调整的。

原帖由 亡灵法师 于 2006-5-10 06:39 PM 发表
个人意见全局过滤条件和站点私有条件没有必要。因为我们有很简单的方法,就是通配符。

我觉得zlowly兄弟说的,再加上上面我说的使用2个类别,一个是固定(不删除)类别,一个是临时(可自动删除)类别。这样可 ...


通配符跟全局过滤条件和站点私有条件有什么关系?过滤规则的网站私有化是为了提高效率,私有化的规则只针对某个网站有效,不必参与每个网站的过滤匹配过程。
作者: 亡灵法师    时间: 2006-5-10 21:57

通配符当然有关系。我们可以使用通配符来满足某站点的过滤或者不过滤。比如*/ggao/*和http://www.crsky.com/ggao/*。

针对每一个站点不是好办法。它同样需要匹配计算。比如我们打开一个页面,需要核对列表,存在的项目都要核对。这个办法不能有效减少核对过程。

类似于病毒库也不理想。因为每个人登陆的站点都不一样,适合自己的过滤条件不一定适合别人。过滤追求的就是最小的代码最大的效果。亢长的过滤名单会导致打开网页有卡的感觉。

也就是说,如果我们使用名单过滤方式,面对的问题就是亢长名单导致卡的问题。最好有一种办法,可以让很多新人朋友使用亢长名单,又能在使用过程中自动或者方便的手动精简。

××××××××××××××××××××××××××××××××××××××××××××××

zlowly朋友说的计数,的确是个办法。比如几个月都没有产生作用的,我们可以去掉(自动或者手动)。再加上我说的分成2类,一类固定不动,另外一个临时类,可以删除。

这个办法是使用名单过滤,又追求过滤效率的无奈办法。

另外一个办法,是和adblock一样采取正则表达式。不过有个问题是一旦误过滤,修改起来相当麻烦。注定只能使用保守的正则表达式来过滤。其余的靠过滤列表支撑。如果这样的话,可以固定正则表达式不动,其余项目也可以用计数方式来决定是否删除。

×××××××××××××××××××××××××××××××××××××××××××××××

对普通用户最有吸引力的不是过滤机制,而是怎么方便过滤自己想过滤的……因为万能的过滤方式不存在。

我认为使用可视化的广告过滤方式(有点像Opera 9.0 Beta)是个好办法。就如同我们在IE中使用ViewPage,当鼠标移到一个页面项目上,ViewPage会用红线在页面勾出。Opera的这个功能,仅仅针对图片,如果TW能做到针对内嵌框架甚至文字,那就方便之极了。

使用这种办法(其实所有的名单过滤方式都是),几个月之后,过滤列表可能变得比较长,影响打开页面的速度。使用zlowly朋友的办法,可以缓解这个问题,起码,我们有了一个是否删除某个项目的参考。

[ 本帖最后由 亡灵法师 于 2006-5-10 10:05 PM 编辑 ]
作者: Aycox    时间: 2006-5-10 23:19

建议:请楼主将标题修改一下,或者,请大家另开新贴继续探讨关于 TW 的广告过滤问题。
因为一方面本人认为上述几位现有的讨论形式和讨论内容十分有益,第二方面讨论的内容已经远远超出了原贴主题的范围。请原谅可能本人存有私心,个人以为在这个主题下讨论貌似稍有不妥^_^,我想靠大家联手之力打造一个专门的有关广告过滤的帖子更有意义,谢谢!
作者: zlowly    时间: 2006-5-11 02:33

原帖由 Aycox 于 2006-5-10 16:30 发表
而正则表达式,我大致理解的好比是一个 IF 语句的嵌套,如果第一个匹配了就不会进行以下的运算,假如常规的黑名单也是匹配后不会再进行其它的匹配,那么两者的区别可能就剩下眼见条目多少了,不知理解是否有误。


正则表达式远不是这么简单的,先说其效率问题,例如对于平常以下两条规则
*/ads.*
*/adv.*
如果URL里有adv,那么匹配时要比较的字母至少有a d s a d v6次
但是写成正则表达式只有一条规则
ad(s|v)
那么只需要比较a d s v4次。(当然括号之类的为了说明简单就不算数了)
而大家留意一下TW或者MT里的规则,许多都是十分类似的,例如都含有ad或者banner字母,只是在首尾有./之类的不同,这样几十条规则下来如果只用一条正则表达式来写成规则,就是节省了数十次的相同字母比较。若相似部分不是ad这么短而是更长,那么节省的更多。

其次是准确性问题,例如对于类似320x24.gif,228x128.jpg这样的广告,一般通配符规则是写不出来的,罗列更是不切实际的,而正则里用\d表示数字
\d{2,3}x\d{2,3}
就表示
2-3位数字x2-3位数字,十分精确,也不会不小心把1x1算进去。
再如不少门户网站会用类似
http://ad0.xxxx.com
http://ad8.xxxx.com
之类的URL
用ad?或者ad*的话明显误杀很多,
正则的话
ad\d*
*表示前面的字母(或数字)有0个或者0个以上
是不是准确很多呢?而正则表达式远不止这些规则,几乎可以匹配任何你想得到的规则。

最后就是算法的速度,由于正则表达式的功能复杂,它比一般的字符比较算法当然会慢,但是实际上很多语言本身就带有正则表达式的库甚至内置了正则表达式函数,例如Javascript,C++,Java等,它们都已经在一定程度上在甚至是在机器码级别优化过,速度并不比自己写通配符规则的算法慢多少。

[ 本帖最后由 zlowly 于 2006-5-11 02:35 AM 编辑 ]
作者: zlowly    时间: 2006-5-11 02:56

在这个标题下不断离题回帖的确是不妥,不过我怕如果另开新帖,一来大家对初级用户、新标题比较陌生,二来没有上下文,讨论兴致也上不来,所以我只好赖皮继续回帖,希望版主容忍一次吧。

根据计数器自动删除规则的想法,只是我最近用Firefox的Adblock的心得而已。本来新版本Adblock加上这个功能,我原来也以为是花哨功能,看过滤掉的次数有什么用呢?

但是一个多月后,我偶尔看了下过滤计数,发觉有三条规则的计数总和上万,几乎占了过滤总数的95%以上,而有3条则为0。结果我很自然就是把这三条按计数顺序排在最前,然后把那3条1个月都没生效过一次的规则删掉(当然我认出那是几个我再也不会去的网站的规则),相信换作是你,你也会这么做。可惜鉴于我的机器还算是不差(超频的AMD 64 2500+,1G内存),速度方面差别感觉不到,但是相信对于机器不好的人,这样处理就应该会有用。

所以我才有这个念头,当然规则删除的自动化是比较符合我个人处理习惯,即使可以设置阀值等参数,但也不一定能适应各种情况,所以不少人觉得不稳妥。其实手工删除、排序也不算麻烦,反正能有多少次呢。但是它们都需要基于计数器这个功能,个人认为最低限度,计数器这个功能应该需要的。

当然自动化功能对于不少新手也可以算是人性化设计,也许搭配自动更新的规则库功能,可以成为自适应的过滤系统。若是为了简洁,或者把自动化作为插件接口留待他人实现。

另外下面是更异想天开的想法,大家可以不看,非要看的不要骂我。
万一实现了计数器,而作者希望更好的、更与众不同结果:
其实简单的计数并不精确,因为规则匹配的时间其实也很重要,就是说 最近匹配的比较频繁的规则 应该比 只是以前匹配的比较频繁的规则 更为优先。那么可以参考使用统计学里的移动平均、方差的方法,利用时间间隔的倒数作为一个因素,相信能得出更为合理的指标。

[ 本帖最后由 zlowly 于 2006-5-11 03:13 AM 编辑 ]
作者: linser    时间: 2006-5-11 08:45

计数器功能很多广告过滤软件都有提供,计数统计可以让用户知道哪些过滤规则比较常用,哪些比较少用,比较少用的用户可以手动移除或保留,这里真正决定哪些规则可以被移除的是用户而不是过滤系统,因为过滤系统无法知道那条很少用到的规则是否真的无用。

  1. 通配符当然有关系。我们可以使用通配符来满足某站点的过滤或者不过滤。比如*/ggao/*和http://www.crsky.com/ggao/*。

  2. 针对每一个站点不是好办法。它同样需要匹配计算。比如我们打开一个页面,需要核对列表,存在的项目都要核对。这个办法不能有效减少核对过程。

  3. 类似于病毒库也不理想。因为每个人登陆的站点都不一样,适合自己的过滤条件不一定适合别人。过滤追求的就是最小的代码最大的效果。亢长的过滤名单会导致打开网页有卡的感觉。
复制代码


*/ggao/*和http://www.crsky.com/ggao/* 这样的条件是对所有网站有效的,对于过滤系统来说http://www.crsky.com/ggao/*只是一条普通的过滤规则,不是一个网站。

针对网站的话,网站域名可以用索引排序和二分法算法来解决(跟浏览器的Cookie系统差不多),速度比你一大堆过滤规则匹配一次要快的多。

最后偶再说一遍,过滤库的概念是针对网站的,过滤时只有该网站的规则参与匹配过程。也就是说只有当你访问crsky.com时*/ggao/*和http://www.crsky.com/ggao/* 这样的规则才会参与匹配。

[ 本帖最后由 linser 于 2006-5-11 08:58 AM 编辑 ]
作者: zlowly    时间: 2006-5-11 09:41

针对网站的过滤库其实也是不错的,避免了庞大的过滤库中所有规则参与匹配的弊端。
不过由于过滤库通常规模都相当大,由用户个人维护都会比较吃力,最适合的都是做成网上自动更新,众人维护的方式为好,但是这样涉及的功能就会很多了,TW还能否保持其简洁性就很难说了,而且作者能否有精力做得这么细也难说。
如果借鉴Firefox做法,将URL的处理作为接口,将过滤系统作为插件,不知道好不好。
作者: 亡灵法师    时间: 2006-5-11 17:19

忽视了一个问题。

一个站点能有几个需要过滤的项目呢?霏凡软件,就ggao,天空软件,也就1-2个。按站点分的话,工程实在太浩大,而且可以说,相当大部分对一般用户也没什么作用。我个人的全部过滤项目,也才30条左右。按站点分没有太大必要。

其次,就算按站点分,zlowly朋友说的也有用。因为用户需要删除不必要的啊。




欢迎光临 世界之窗论坛 (http://bbs.theworld.cn/) Powered by Discuz! 7.2