adblockplus简单介绍

【实战】Adblock Plus 广告过滤规则高效配置指南 本文提供Adblock Plus广告过滤规则的高效配置指南,帮助用户精准拦截网页广告。从基础选择器到高级通配玩法,详细解析规则语法,并针对视频网站和电商平台提供实战配置方案。同时分享规则优化与维护技巧,确保过滤效果的同时避免误杀有用内容。 阅读详情

adblockplus简单介绍

官方源码:https://github.com/adblockplus/adblockpluscore
官网:https://adblockplus.org/

adblockplus通过定义规则来拦截广告,规则是根据广告url的特征指定的。当请求一个url的时候,会使用定义的规则对url进行匹配,如果有拦截规则匹配成功,则阻止该url请求;但是如果还匹配到白名单的规则,则不应阻止该请求。

拦截规则

更具体可以详见 https://adblockplus.org/zh_CN/filters

1. 定义黑名单规则

  • 通配符:*

    http://example.com/ads/banner123.gif

    上面的广告url可以用下面的规则拦截,并且banner后面的数字改变了,也可以拦截

    http://example.com/ads/banner*.gif

  • 匹配网址开头/结尾:|

    swf|: 只会拦截swf结尾的url

    |http://adv: 只会拦截http://adv开始的url

    ||adv:前面两条||并且后面直接跟着网址,则会忽略http与https的差异,同时拦截http://adv、https://adv和http://www.adv

  • 标记分隔符:^

    分隔符^可以表示除了字母、数字或者 _ - . % 之外的任何字符,此外URL的结尾也可以作为一个分隔符。http://example.com^会拦截 http://example.com/ 和 http://example.com:8000/, 但不会阻挡 http://example.com.ar/,因为^不会表示com后面的.

  • 指定过滤规则选项
    指定某些选项来指定规则的行为。列举这些选项的时候将它们放在美元符号 ($) 后面并用逗号 (,) 分割,放在过滤规则的最后面,例如:

    */ads/*$script,match-case
    

    部分支持的选项:

    • 类型选项,如 script、image等,表示规则只作用于这些类型的请求
    • third-party: 作用于第三方站点的请求
    • 域名限定:选项 domain=example.com 指过滤规则只适用于 “example.com” 下的页面 。
    • match-case:是否区分大小写
    • 反转类型选项:在上述类型前面加上~,表示过滤规则 不 应用该类型
  • 正则表达式,由于性能原因,建议尽可能避免使用正则表达式

2. 定义白名单规则

  • 任何规则前面加上@@,就表示匹配到这条规则的url都不应该拦截,白名单的优先级高于黑名单。

    例如:规则@@advice,可以避免下面的网址被规则adv拦截掉:

    http://example.com/advice.html

3. 注释

  • 注释以感叹号 (!) 开始

匹配算法

广告过滤的规则有几万条,如果每个请求的url都匹配一次所有规则,耗时会太长,所以adblockplus会将规则分类,减少实际需要匹配的规则。

1、规则分类

规则分类应在初始化时执行,分类的依据是规则中,规则选项(以$开始的)之前的部分中匹配[^a-z0-9%*][a-z0-9%]{3,}(?=[^a-z0-9%*])的子串,这个匹配是不区分大小写的。举一个例子,以下的规则

||tool.hina.net/regex$script,match-case

匹配[^a-z0-9%*][a-z0-9%]{3,}(?=[^a-z0-9%*])的会有下面的子串:

  • |tool
  • .hina
  • .net

也就是规则中以一个特殊字符开始,后面跟着三个及以上非特殊字符并且非结尾的所有子串。然后再从上述子串中选择一个最长的,去掉第一个字符后作为规则的keyword,并将规则记录在这个keyword对应的一个数组中。如果有相同长度的子串,则会选择对应数组大小最小的一个作为keyword。

特殊的,无匹配的子串与正则表达式的keyword都是空字符串:“”。

keyword与对应的数组会作为键值对存在一个map中,黑名单与白名单的规则会分别记录在两个map。

所有规则都分类完之后,就初始化完了。

2、匹配url

判断一个url是否广告的步骤:

  1. 从url中提取出候选词列表
    • url提取的候选词比提取规则的keyword简单:匹配[a-z0-9%]{3,}的所有子串,也就是长度大于等于三的不包含特殊字符的子字符串。如url:http://tool.hina.net/regex , 则候选词列表是:["http","tool","hina","net","regex"]
    • 此外每个url的候选词列表都会加上空字符串“”,也就是空字符串对应的规则都会匹配一次,所以正则表达式的规则会比较影响性能,实际的候选词列表:["http","tool","hina","net","regex",""]
  2. 分别从黑名单和白名单中取出每个候选词对应的规则数组
    • 从上述map中按照候选词一一获取对应的规则数组
  3. 将url与取出的规则一一匹配
    • 非正则表达式的规则会在匹配前转成正则表达式,再用正则表达式对url进行查找,如果有匹配的子串,则认为匹配成功
    • 会按指定的过滤规则选项进行匹配

匹配的接口

  /**
   * Tests whether the URL matches any of the known filters
   * @param {string} location
   *   URL to be tested
   * @param {number} typeMask,指定类型
   *   bitmask of content / request types to match
   * @param {string} [docDomain],指定当前页面的域名
   *   domain name of the document that loads the URL
   * @param {boolean} [thirdParty],是否第三方请求,即url的源是否与当前页面的域名一致
   *   should be true if the URL is a third-party request
   * @param {string} [sitekey]
   *   public key provided by the document
   * @param {boolean} [specificOnly]
   *   should be <code>true</code> if generic matches should be ignored
   * @returns {?RegExpFilter},返回匹配到的规则,返回的规则可以知道是属于黑名单还是白名单
   *   matching filter or <code>null</code>
   */
  matchesAny(location, typeMask, docDomain, thirdParty, sitekey, specificOnly)

匹配的时候只需要调用上述接口,所以在url请求之前判断一下,就可决定是否需要拦截。

告别BAPI!深入SAP S/4HANA BP框架:cl_md_bp_maintain维护客户主数据的正确姿势与性能优化 本文深入解析SAP S/4HANA中cl_md_bp_maintain框架的高效实践与架构设计,对比传统BAPI方式,展示其在业务伙伴(BP)主数据维护中的性能优势与现代化特性。通过详细代码示例和性能测试数据,揭示如何利用该框架实现批量处理、集中校验及智能错误恢复,助力企业从ECC向S/4HANA平滑迁移。 阅读详情

相关推荐

ESP-IDF 利用ESP32构建智能音乐播放器(一)---------- 实现SD卡MP3文件的解码与播放

本文详细介绍了如何利用ESP32和ESP-IDF开发框架,从零开始构建一个智能音乐播放器。文章重点讲解了如何通过SD卡模块读取MP3文件,并集成Helix MP3解码库进行软件解码,最终通过I2S接口驱动音频模块实现播放。内容涵盖硬件连接、软件环境搭建、核心解码与输出逻辑,为嵌入式音频开发提供了完整的实战指南。

weixin_29163797的博客 234

过滤规则推荐

常用的广告过滤规则

风中漫步VIP的博客 3万+

VSCode玩转ESP-ADF音频开发:从环境搭建到成功播放MP3的避坑全流程

本文详细介绍了如何在VSCode环境下使用ESP-ADF框架进行ESP32音频开发,从环境搭建到成功播放MP3的全流程。重点解析了`IDF_PATH`和`ADF_PATH`的配置问题,以及如何解决`xTaskCreateRestrictedPinnedToCore`等常见编译错误,帮助开发者快速上手ESP-ADF音频开发。

weixin_42520909的博客 339

【规则】Adblock Plus 广告过滤规则自用整理

【规则】Adblock Plus 广告过滤规则自用整理

我是Superman丶的博客 1万+

Python实战:5分钟搞定滑动平均窗口计算(附完整代码+逐行注释)

本文深入解析Python中滑动平均窗口计算的实现与优化,提供Numpy、Pandas等多种高效方案,并附完整代码和逐行注释。涵盖边界处理、性能优化及异常检测等实战技巧,帮助开发者快速掌握时间序列数据处理的核心技术。

weixin_30872157的博客 124

一文看懂英伟达A100、H100、A800、H800、H20

想要Deepseek私有化部署吗?无论是训练大型AI模型,还是进行高性能计算(HPC),还是Deepseek私有化部署,都需要强大的GPU支持。而英伟达(NVIDIA)作为全球领先的AI芯片制造商,推出了一系列高性能GPU,包括等,广泛应用于AI训练、推理、科学计算等领域。如果想搭建一个属于自己的算力中心,该如何选择合适的GPU?本文将带你详细了解这些GPU的特性,并指导你如何搭建算力中心。一、英伟达算力GPU系列解析1. A100:数据中心AI计算的奠基石:Ampere:6912:432。

【可全包】本人程序员,不需要做任何吹嘘,只是实在写点程序,写点文档,熟悉各类主流框架,SSM,SpringBoot,Flask,Djiango,Mysql,Sqlite,VUE,Uniapp等,各类程序设计专家,优质作者 2万+

AdblockPlus拦截规则简单教程

拦截规则的种类 Blocking filters 应用于网络级别,以决定是否应阻止请求。 Content filters 隐藏页面上的特定元素,包括使用扩展选择器(模拟)和代码段隐藏的元素 Exception filters 用于取消阻止某些请求或取消隐藏某些网站上的某些元素 如何加入自定义规则 下载并在浏览器上安装AdBlockPlus 单击Adblock Plus图标,然后单击右上角的齿...

qq_36450004的博客 1万+

DSP的CLA调试技巧

本文介绍了基于TMS320F28377D的CLA(Control Law Accelerator)开发实战教程,涵盖基础配置、编程、调试与优化全流程。主要内容包括:CLA核心特性及其作为实时控制协处理器的优势;开发环境搭建与工程配置要点;CLA任务调度、数据交换及编程约束;调试技巧如断点设置和性能分析方法;进阶应用案例(批量除法运算)及优化策略;以及推荐的学习资源和硬件平台。教程强调数据一致性和任务同步问题,为快速上手CLA开发提供实用指导。

1040

谷歌Chrome浏览器插件AdblockPlus

这里给大家推荐一款拦截广告利器AdblockPlus下载地址:http://download.youkuaiyun.com/download/sinat_29970905/10257632安装方式:1、下载后解压找到chromecj.com-Adblock-Plus_v.crx2、拖入chrome就可以安装了,安装后记得更新下拦截list资源是从网络上整理下载的,大家多多支持呀!

穿越整个城市的越野跑 1956

Unity开发抖音小游戏存储的几种方法分析

前段时间写小游戏为了省事一直就没有研究抖音小游戏的存储方案,一直使用的是unity中的PlayerPrefs去做的存储,但是后来发现官方会一直提醒让使用抖音sdk中的新文件存储系统,从而降低内存占用。

类人_猿的博客 2533

[SoC]SoC验证中bootcode与firmware相关验证经验总结

本文总结了SoC验证中bootcode和firmware的验证经验。重点介绍了两种数据加载方法:1)使用Verilog系统函数$readmemh/$readmemb直接写入ROM/ARAM,需注意文件路径、格式和斜杠方向;2)通过Memory Hierarchy在initial块中操作,需要添加适当延时并注意路径拼接。文章还提供了在testcase phase中先读取数据到HASH再写入SRAM的示例,并强调加载后需使能edc_bypass以避免ECC错误。验证过程中需特别注意文件位置、格式要求及路径处理等

元直的博客 2497

屏蔽百度热搜及首页热榜

背景 360浏览器 使用Adblock Plus插件 步骤 插件安装完成后,点击图标 //屏蔽页面右侧热搜 www.baidu.com##div[tpl="right_toplist1"] //屏蔽首页热榜 www.baidu.com##.title-text.c-font-medium.c-color-t www.baidu.com##.hot-refresh-text www.baidu.com##.title-content-title www.baidu.com##.title-conten

松鼠变河马的博客 1275

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

Firefox插件Adblock plus添加ChinaList

1.自己安装Adblock plus 这个插件;2.点击如下链接,会自动将ChinaList添加到Adblock plus筛选器中的,很方便。abp://subscribe/?location=http%3A%2F%2Fadblock-chinalist.googlecode.com%2Fsvn%2Ftrunk%2Fadblock.txt&title=ChinaList

好好学习 1948

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

两款浏览器去广告插件,让你舒心上网

当今的互联网时代,网页上充斥着各种各样的广告,极大地降低我们检索信息的效率,同时还影响到了我们上网的心情。接下来凡尘为您介绍两款浏览器插件,从此和广告Say Goodbye。

vanson_marketing的博客 9923

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

如何屏蔽陈翔六点半

恶俗营销一直出现在本人QQ空间,无法屏蔽,非常让人失望。后来阅读了一下AdBlockPlus的说明,发现可以解决这一问题。 方案:AdBlockPlus + 自定义规则 1、安装 AdBlockPlus Adblock Plus 2、在Options里选择Add your own filters选项卡 3、添加如下规则 user.qzone.qq.com##li[id^="fct

平凡 2248

使用adblock屏蔽网页特定内容,例如微博推广

一. 下载安装adblock plus 二. 屏蔽网页内容 1. 使用鼠标选择 这个方法是最简单的,适用于元素特征明显的内容,例如微博右侧的排行榜,鼠标点击,adblock就会识别出同类元素,一并拦截。 完成后微博页面如图所示 2. 使用高级选择器 adblock提供了自定义规则的功能,适用于复杂的元素,例如,微博首页常常会推送未关注人的信息,影响刷微博的体验。 这个时候,如果我们使用鼠标点击元素进行拦截的话,却会把关注列表的微博一并拦截了,所以上一个方法不可行。 在这种情况下,我们需要观察屏蔽对

wechat28的博客 2961

Firefox扩展介绍(1) - Element Hiding Helper - 从此页面真的干净了

  Element Hiding Helper 是一个可与 Adblock Plus 配合使用的扩展,旨在帮助您更轻松地建立元素隐藏规则。您只需要选择想隐藏的元素并勾选所需的有关属性,该元素的隐藏规则便会自动生成并加入规则列表。扩展的部分代码是基于 Aardvark 扩展而来。 一.先装  Adblock Plus 1. ff下 ctrl + shift + a 2.点击扩展 3.右上角文本框输...

个人站点: macrotea.cn/nav 328

浏览器使用 Adblock Plus 插件屏蔽广告

在插件中搜索 “adblock”,安装第一个即可。 安装完毕后,在浏览器右上角会出现 “Adblock Plus” 的图标。图标上会显示当前拦截的广告个数。 有些不是广告,但也很烦人,比如百度的热搜,我真是忍无可忍,无须再忍。 展开 “Adblock Plus” 的下拉框,点击 “拦截元素” 按钮,然后选中页面中的元素(被选中的元素会被覆盖上一层黄色的遮罩层) 点击后会弹出 “添加过滤规则”...

司马懿的西山居 1791

工具-如何屏蔽浏览器中的广告(Adblock Plus(广告屏蔽器))

原因 经常需要到网上进行资料查询以及网页浏览最讨厌的就是不断弹出的广告以及侧边的新闻以及其他内容,非常容易干扰我们在工作时的注意力。作为开发者最喜爱的浏览器应该就是google chrome了,所以就使用神奇之Adblock Plus来进行广告位,新闻的屏蔽操作。 操作 1.百度/google 搜索Adblock Plus 2.由于当前以及安装完成无法看到安装,点击上述红框...

qq_19331985的博客 1532

64bit ubuntu 14 04 LTS 火狐浏览器广告过滤插件

还在为看视频广告弹窗与等待烦恼嘛?不要灰心,打开火狐“附加组件”搜索adblock plus下载安装即可屏蔽广告,连重启浏览器都不用。效果刚刚滴 转载于:https://www.cnblogs.com/kingsniper13/p/5059184.html...

302

拦截百度热榜的方法

隐藏百度热榜效果步骤 效果 先上效果 可以发现右下角没有了百度热榜 对比一下 步骤 首先你必须使用chrome浏览器 这个方法需要用到Adblock Plus的chrome插件 首先到这里 搜索Adblock Plus 下载插件,然后点击这里 把刚刚下载好的crx文件拖放到扩展程序里安装 安装好之后,点击右上角的 这个拼图一样的东西,再点击三点菜单下的选项 点击高级,再点添加,粘贴如下代码 www.baidu.com##div[tpl="right_toplist1"] 然后现在刷新百度页面。你就

离开那天的博客 1024

adblockplus.js简要分析

在adblockplus的广告过滤中实际上包括广告过滤和广告隐藏,前者是通过extensions机制提供的网络接口回调根据过滤规则判断对应的资源是否需要下载,如果此资源URL符合过滤规则则屏蔽此资源的下载,从而达到过滤的目的;而广告隐藏则是根据主页的host在网页中注入一段css样式,将某些id选择器和类选择器的样式设置为{ display: none !important; },从而将符合规则的

woweiwokuang0000的专栏 2256

AdblockPlus 过滤列表

AdblockPlus 过滤列表项目 在这里插入图片描述

ltimaginea的博客 2140

网页版bilibili用adblockPlus拦截三连等弹窗

网页版bilibili用adblockPlus拦截三连等弹窗

qq_51946251的博客 6741

AdblockPlus

1.屏蔽特定网站的gif:Blocking gifs from loading in particular site. - Adblock Plus

海天鹰 254
上一篇: 从sps中获取h264的帧率
github_35472751
博客等级 码龄10年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值