返回列表 发帖

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

感谢凤凰工作室,没有它就没有TheWorld
感谢正则表达式,没有它就没有这些规则
写在前面的话:
1.由于本人能力有限,规则只能过滤掉一部分广告,并且对于产生的空白框架,我无能为力,请各位多多包涵.
2.请大家善用TheWorld的网站白名单功能(自己的邮箱,博客都可以填进去)
3.请大家善用TheWorld的禁止显示Flash功能(绝大多数Flash都是广告,看视频的时候再打开)

规则做了优化,可读性比较差...
VERSION 2008-09-13
  1. //数字组合
  2. #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>
  3. //关键词
  4. #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>
  5. //脚本
  6. #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>
复制代码






中间省略N多版本


VERSION 2008-05-27
A版:显示被过滤的关键词和链接类型
  1. #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>
复制代码
B版:直接隐藏
  1. #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]*?(?:<)|)###
复制代码

(把预览图片删掉了,太占页面高度...)
各位如果觉得不错就加到黑名单里吧:lol:

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

评分人数

  • 小絮

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

例如:

  1. /(?:cpro|vodone|keyrun|union|unstat|p4p|7clink|heima8|alimama|adsence|allyes\.com|un\.265|lianmeng|clickeye|spcode)/
  2. /\d{2,3}?[-_x]\d{2,3}\.(?:jpg|gif|swf|js)/
  3. /[\W\d_]ad(?:s|v)?[\W\d_]/
  4. #ex#<script[^>]*?[\W\d_]ad(?:s|v)?[\W\d_][\s\S]*?</script>###
  5. #ex#<div[^>]*?[\W\d_]ad(?:s|v)?[\W\d_]((?!<div[^>]*?>)[\s\S])*?</div>###
  6. #ex#<span[^>]*?[\W\d_]ad(?:s|v)?[\W\d_][\s\S]*?</span>###
复制代码

第一条是针对各种广告推广联盟的过滤代码,如果要更新只需要在最后将新的特征符加上即可。
第二条是针对“数字_数字”之类的图片、flash、脚本进行过滤
第三条是针对 含“ad”、“ads”、“adv”、“ad_”、“ad-”等的连接地址进行拦截下载,可拦截img、js、script等
第四、五、六条分别是对标题中含有“ad”特征符的script、div、span进行过滤。

TOP

规则里过滤的广告都是我近一年来有意无意搜集的,然后集成到一条规则,方便不喜欢思考的朋友直接拿来用使用.
  1. 关键词
  2. 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
复制代码
  1. 域名
  2. (?:08|78|28|158|36578|89178|9v|360quan|c(?:hanet|o-cm|oopen)|p(?:v|hah)|yigao).c(?:om|n)
复制代码

[code]推广广告
pro(?:img)?.163|(?:hc|ma).baidu|baidu.com/(?:baidu|cpro)|cpc.sogou|ufile.kuaiche|atm.youku|bliz5.sandai|(?:s|p4)p.tom[code]

TOP

好COOL,不错,谢谢楼主

TOP

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

TOP

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

TOP

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

TOP

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

TOP

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

TOP

非常感谢qionglaoer的测试,因为我几乎不去新浪网易等等门户
更新了一下,测试没有大问题了.另外这个规则只是针对广泛的广告(大部分是推广),免不了会有大量的漏网之鱼.
麻烦斑竹看到后把顶楼的修改一下,我没有编辑权限
  1. //整合版
  2. #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>
复制代码
  1. //分类版
  2. //ad
  3. #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>
  4. //关键词
  5. #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>
  6. //***x*** 型
  7. #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>

  8. //域名
  9. #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>

  10. //推广广告
  11. #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>
复制代码

TOP

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

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

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

不过楼主的规则还是比较强大的哈
liuyis[AT]live.com

TOP

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

TOP

返回列表