AdBlock 插件/傲游浏览器 ABP 广告过滤规则是如何边编写的
来源:互联网 发布:金百福珠宝软件试用版 编辑:程序博客网 时间:2024/05/21 17:34
参考资料:http://bbs.maxthon.cn/thread-369613-1-1.html
http://www.w3school.com.cn/css/index.asp
http://www.w3school.com.cn/html/index.asp(绝世的好网站,值得学习)
别人写的好深奥,非专业人士根本没有看下去的欲望,不过确实写的不错,我给简化了一下,挑选实用的
语法:
- 用户输入的规则文本格式
- 1. 一般匹配规则:
- 按字符匹配, 忽略大小写, 可使用通配符 * (任意数目的任意字符) 和 ? (1个任意字符).
- 范例:
- 无通配符: http://test.test.com/ads.js
- 有通配符: *.test.com/ads?/*
- 2. 正则匹配规则:
- 符合 PCRE 格式的正则表达式. 忽略大小写. 格式符合 js 的 inline regexp 格式: /expression/
- 范例:
- /ads|ad\/.*?\.swf/
- /180x(90|87|48).*?(jpg|gif|png|swf)/
- 3. 白名单规则:
- 白名单规则通过在前述的一般规则前面添加 @@| 表示.忽略大小写, 可以使用 * 和 ?通配符.
- 范例:
- @@|http://test.test.com/ads/logo.jpg
- @@|http://test.test.com/add.*
- 4. 注释:
- 由 ! 号开头的行都视为注释文本, 不作为规则处理.
- 范例:
- ! The following is an example of RegExp rule
- ! /ads|ad\/.*?\.swf/
- 处理顺序:白名单始终优先, 黑名单按顺序来
##a
含义: 标签选择器,匹配所有标签为a的元素
(常用标签: html、title、head、body、div、table、tr、td、li、form、img、script、a、p、br、h1、h2、h3、h4、h5、h6...)
示例:
2.过滤类名
含义: 标签选择器,匹配所有标签为a的元素
(常用标签: html、title、head、body、div、table、tr、td、li、form、img、script、a、p、br、h1、h2、h3、h4、h5、h6...)
示例:
- ## ul
- !说明:选择标签为 ul 的全部元素
- !效果: 鼠标放到各种按钮上不显示菜单
- ## h1
- ! 在 www.qq.com 这个网页可以过滤标签为 h1 的内容及那个图标
##.a
含义: 类(class)选择器,匹配所有class名为a元素
示例:复制代码
3.过滤id
含义: 类(class)选择器,匹配所有class名为a元素
示例:
- ## .a
- 或者 ##[class="a"]
- !选择类名为 a 的全部元素
- !效果: 屏蔽页面页面标题栏上黑色那条
- ## .hao123-search 或者##[class="hao123-search"]
- ! 在 hao123.com 这个网页可以过滤整个搜索框;
其他过滤方式一样,我就不一一截图了;
###a
含义: id选择器,匹配所有id为a的元素
示例:复制代码
.
选择器: [attr]
含义: 属性选择器,匹配所有包含attr属性的元素,其中attr属性值为任意值。
示例:复制代码. .
选择器: [attr=val]
含义: 属性选择器,匹配所有包含attr属性的元素,其中attr属性值等于->val<-
示例:复制代码. .
选择器: [attr~=val]
含义: 属性选择器,匹配所有包含attr属性的元素,其中attr属性值为具有多个空格分隔的值,并且其中的一个值等于->val<-
示例:复制代码. .
选择器: [attr^=val]
含义: 属性选择器,匹配所有包含attr属性的元素,其中attr属性值以->val<-开头
示例:复制代码. .
选择器: [attr$=val]
含义: 属性选择器,匹配所有包含attr属性的元素,其中attr属性值以->val<-结尾
示例:复制代码. .
选择器: [attr*=val]
含义: 属性选择器,匹配所有包含attr属性的元素,其中attr属性值字符串中包含->val<-字符串
示例:复制代码.
5.看根据匹配的规则来过滤广告
含义: id选择器,匹配所有id为a的元素
示例:
- ## #header 或者##[id="header"]
- !选择id名为 header 的全部元素
- !效果: 屏蔽论坛页面标题栏
4、属性选择器
属性选择器通过元素属性来选择元素
属性选择器通过元素属性来选择元素
.
选择器: [attr]
含义: 属性选择器,匹配所有包含attr属性的元素,其中attr属性值为任意值。
示例:
- ## a[id]
- !说明:选择所有标签为div的a元素,这些元素具有属性id
- !效果: 1#至20楼被屏蔽
选择器: [attr=val]
含义: 属性选择器,匹配所有包含attr属性的元素,其中attr属性值等于->val<-
示例:
- ## a[id="post_3419917"]
- !说明:选择所有标签为div的a元素,这些元素具有属性id,id的值为post_3419917!(字符串"post_3419917"两端的引号->"<-可不写,但是字符串以数字开头时必须写,以下相同)
- !效果: 12#被屏蔽
选择器: [attr~=val]
含义: 属性选择器,匹配所有包含attr属性的元素,其中attr属性值为具有多个空格分隔的值,并且其中的一个值等于->val<-
示例:
- ## div[class~=mainbox]
- !说明:选择所有标签为div的元素,这些元素具class属性,class的值为具有多个空格分隔的值,并且其中一个值等于mainbox
- !效果: 1#至20#被屏蔽
选择器: [attr^=val]
含义: 属性选择器,匹配所有包含attr属性的元素,其中attr属性值以->val<-开头
示例:
- ## div[id^=post_334]
- !说明:选择所有标签为div的元素,这些元素具id属性,id的值为以->post_334<-开头
- !效果: 1#、2#、3#、4#被屏蔽
选择器: [attr$=val]
含义: 属性选择器,匹配所有包含attr属性的元素,其中attr属性值以->val<-结尾
示例:
- ## div[id$="94966"]
- !说明:选择所有标签为div的元素,这些元素具id属性,id的值为以->94966<-结尾
- !效果: 6#被屏蔽
选择器: [attr*=val]
含义: 属性选择器,匹配所有包含attr属性的元素,其中attr属性值字符串中包含->val<-字符串
示例:
- ## div[id*=4177]
- !说明:选择所有标签为div的元素,这些元素具id属性,其中id的属性值字符串中包含->4177<-字符串
- !效果: 8、9、10#被屏蔽
5.看根据匹配的规则来过滤广告
请注意,最重要的一点哦,其实前面你都可以统统忽略,直接来看最后一点,哈哈
直接用谷歌浏览器去应用商店下一个Adblock Plus插件,想要过滤广告的话
然后看右上角进入到选项栏中
就可以看到过滤所用的规则,
0 0
- AdBlock 插件/傲游浏览器 ABP 广告过滤规则是如何边编写的
- chrome 浏览器安装 adblock(屏蔽广告的插件)
- chrome浏览器广告屏蔽插件adblock
- adblock如何过滤百万级别规则
- 强烈推荐谷歌浏览器拓展程序adblock-广告过滤
- Adblock Plus过滤规则
- Adblock plus 过滤规则
- adblockplus浏览器过滤广告插件的安装
- AdBlock广告拦截插件的实现原理
- AdBlock广告拦截插件的实现原理
- 傲游浏览器 页面广告过滤 自定义 过滤规则 及使用方法 不定时更新
- chrome浏览器广告屏蔽插件adblock下载地址
- chrome浏览器广告屏蔽插件adblock下载地址
- Adblock:简单强大的广告过滤沙盒
- Adblock Plus 过滤规则语法
- adblock plus过滤规则介绍
- firefox浏览器一分钟去广告--去广告插件安装教程(adblock plus)
- Chrome上最好用的广告拦截插件:AdBlock
- 解题报告 之 HDU5335 Walk Out
- hdoj 5289 线段树
- 主板牌子
- 树莓派开机反馈
- HDU1102 - Constructing Roads 用优先队列优化Prim最小生成树
- AdBlock 插件/傲游浏览器 ABP 广告过滤规则是如何边编写的
- hdu4644 BWT(KMP)
- 字符串操作的实现:strstr、strcat、strcmp和stcpy
- OC 正则验证电话号码和邮箱
- css就近原则
- Linux下使用gdb调试C/C++程序
- 随机生成不同长度的字符串
- Android XML字符串资源文件详细讲解
- iOS -- 多线程