在AdGuard屏蔽Bing搜索引擎的搜索结果

48 阅读2分钟

在AdGuard屏蔽Bing搜索引擎的搜索结果

使用 AdGuard 的 Cosmetic Rules(化妆/美容规则),配合 CSS 的 :has() 伪类选择器来实现。

Bing 的搜索结果包裹在 class="b_algo"<li> 标签中,而含有 "CSDN" 字样的 aria-label 位于其内部的 <a> 标签上。

推荐规则

请将以下规则复制并粘贴到你的 AdGuard “用户过滤器” (User Filter) 中:

bing.com##.b_algo:has([aria-label*="CSDN"])

规则原理解析

这条规则的每一部分含义如下:

  1. bing.com: 限制该规则仅在 Bing 搜索引擎生效,避免误伤其他网站。
  2. ##: 标志这是一条网页元素隐藏规则。
  3. .b_algo: 这是 Bing 搜索结果列表项的标准容器类名(即截图中的 <li class="b_algo">)。我们选择隐藏整个容器,而不仅仅是里面的链接,这样可以把标题、摘要和链接全部隐藏,不留空白。
  4. :has(...): 这是一个选择器逻辑,意思是“选中包含符合下列条件的子元素的父容器”。
  5. [aria-label*="CSDN"]: 这是具体的条件。
    • [] 表示属性选择器。
    • aria-label 是你要匹配的属性。
    • *= 表示“包含”,即只要 aria-label 中含有 "CSDN" 这几个字符(例如截图中的 "CSDN博客"),就会触发拦截。

更稳健的替代方案(推荐)

虽然你指定了用 aria-label 拦截,但有时 Bing 可能会更改前端代码导致 aria-label 消失或改变。更稳健的方法是直接拦截链接地址中包含 csdn.net 的结果

如果你发现上面的规则失效,可以试试这一条:

bing.com##.b_algo:has(a[href*="csdn.net"])

区别: 这条规则不依赖界面上的文字(aria-label),而是直接检测点击后跳转的链接是否属于 CSDN,通常来说这种方式更不容易因网站改版而失效。

下一步

你可以任选上面其中一条规则填入 AdGuard,保存并刷新 Bing 搜索页面,CSDN 的结果应该就会彻底消失了。拦截其他特定的“内容农场”网站也类似


可以同时使用两个规则进行拦截 以上内容由AI生成