Proxomitron过滤之 Step By Step 教程

新手入门、经验交流

Moderator: cre

Forum rules
  • 软件自带帮助是最好的入门教程,请仔细阅读;在您掌握最基本知识前,我们没法帮助您
  • 提问前请先查阅软件帮助文件和论坛相关讨论
  • 查阅软件帮助和论坛相关讨论即可解决的问题帖将直接删除,以免浪费他人时间
  • 请学会如何提问,尽量将问题描述清楚,不明确的提问将被直接删除
ddbb
Moderator
Posts: 425
Joined: Jan 07 2008, 13:30

Proxomitron过滤之 Step By Step 教程

Post by ddbb »

前两天无聊的时候写的 因为很简单 就没往这边放 这里高人林立啊........
没想到居然被phoenix发现了 就发过来吧
一般来说 现在主流的浏览器本身都带有广告屏蔽功能的 就算没有也有专门的插件 (汗...插件就不算单独的软件了....) 理论上来说 单独的广告屏蔽软件是越来越没有市场了 不过我还是比较喜欢这个软件的 用起来比较舒服 而且感觉他使用起来很方便 定义好之后还可以对应所有浏览器 像我opera+IE一起用 只要定义这一个软件就都有效果了

先是下载Proxomitronsidki的规则包 这个规则包很强大 已经屏蔽了很多的广告 几乎不用修改什么 而且有强大的debug功能 发现有误操作的话 也有很简单的办法补救(详见这里 在下面有详细的解释如何利用debug功能来查找是哪条规则对哪块代码起作用 知道了这些之后 就可以很轻松来解决误杀问题)

至于屏蔽 sidki包已经解决了大部分的广告问题 如果还是有 或者说其实不是广告 但是想去掉的东西 就需要自己来做了 其实作法很简单 找到要屏蔽的代码 然后COPY到软件里就行了 而且Proxomitron里还有TEST功能 可以很方便的检查屏蔽是否成功

就用我的blog的head来举例好了
12085890.png
12085890.png (34.58 KiB) Viewed 33469 times
如果想弄掉这个大蓝框 先把Proxomitron关掉 防止影响显示出的源代码 然后查看http://ddandyy.javaeye.com/的源代码 找到这个框的代码是

Code: Select all

        <div id="branding" class="clearfix">
        <div id="blog_name"><h1><a href="/">ddandyy</a></h1></div>
        <div id="blog_preview"><a href="/admin">管理我的博客</a></div>
        <div id="blog_domain">永久域名 <a href="/">http://ddandyy.javaeye.com</a></div>
      </div>
(javaeye的html格式很不错 找起来非常容易 有些网站的html就乱得很) 这段代码是登陆状态的 非登陆状态有所不同

这段代码的头是<div id="branding" class="clearfix">搜索了一下 同页没有同名的 这就方便多了 (一般来说 现在CSS非常流行 同一个页面里 想屏蔽的地方 很少会有同名的 所以不会出误杀 如果有同名的 那就要用其他规则来限制一下 小心误杀) 把Proxomitron打开 点击窗口里的Webpage按钮 (我使用了这个皮肤 所以按钮的位置和默认的不一样 如果没用这个皮肤的话 就要按名字找一下了)
12085891.png
12085891.png (13.38 KiB) Viewed 33481 times
也就是图A的地方 图B的那个按钮是用来控制是否启用的 按下去之后 就是不过滤状态
12085892.png
12085892.png (8.65 KiB) Viewed 33485 times
点击之后 会弹出一个窗口 点击里面的 New
12085893.png
12085893.png (15.15 KiB) Viewed 33495 times
针对这次过滤 填入的内容是图式里的内容

A是这个过滤的名字 随便起 最好是自己能记住的 找起来方便的 Proxomitron有搜索功能 以后找起来会方便一些 这个下面修改这个规则的地方有用到

B的地方是起作用的URL 和类型 这个地方支持正则表达式 这里我写了ddandyy.javaeye.com/ 如果写的是 *.javaeye.com/ 的话 就会把和这个URL匹配的 也就是我浏览JavaEye所有人BLOG上面的head都给删掉了

C的地方就是这次我们要屏蔽掉的东西了 把上面的代码COPY到里面 把头留下 然后找结束的地方 是</div> 因为语句中间有好几个div 所以就按个数 放入了</div> 这句的意思是 遇到<div id="branding" class="clearfix"> 他就开始记录 记录到第4个</div> 这时候注意看右边的E 那里有个数字 我写的是300 也就是这句过滤语句最多过滤300个字节的字符串 如果符合C里面的过滤条件 但是字符串长度超过E的字节数 也是不会被过滤掉的

D的地方就是定义把C过滤成什么样子 因为是想删掉他 所以就写句注释语句 在页面上显示不出来

一般来说这样就够了 可是这个语句会不会起作用呢? 这时候就要看右边了 还有个F 是一个button 写的TEST 点一下看看吧
12085894.png
12085894.png (126.05 KiB) Viewed 33491 times
这个界面很简单 只有上面两个窗口 把要过滤的代码COPY到上面的窗口个 然后点一个 左上角的TEST按钮 下面就会出现结果了

比如上面的那些语句写好之后 我们现在点一下TEST
12085895.png
12085895.png (172.04 KiB) Viewed 33499 times
下面出现了定义好的过滤后的话 这说明过滤成功 他会把上面的语句过滤成这个样子 如果过滤不成功的话 比如我改了改上面的语句 再点TEST 下面就会出现
12085896.png
12085896.png (122.94 KiB) Viewed 33491 times
如果点击TEST旁边的 Profile 按钮 就会在下面显示上面的框里的字节数 比如我们要过滤的这段是279字节 如下图 所以我在前面定义了过滤300字节 (其实写279就够了)
12085897.png
12085897.png (7.23 KiB) Viewed 33479 times
好了 现在既然已经确定没问题了 点击done 回到上一个窗口 然后点OK保存 回到主窗口 记得把规则前面的勾打上 这样才会有效果 如果不打勾表示不使用这个规则
12085898.png
12085898.png (1.44 KiB) Viewed 33474 times
然后在点击下面的OK 回到主窗口 点一下上面的保存图标 然后在打开过滤
12085899.png
12085899.png (11.99 KiB) Viewed 33500 times
再刷新一下http://ddandyy.javaeye.com/ OK 上面的框已经无影无踪了 而且没有空白
1208589A.png
1208589A.png (26.59 KiB) Viewed 33461 times
可是只有这样是不够的... 因为那个框里有link啊 现在这一过滤 那个link也没了 那怎么办呢 重新看一下要过滤的那段语句 那里面有3个link

Code: Select all

        <div id="blog_name"><h1><a href="/">ddandyy</a></h1></div>
        <div id="blog_preview"><a href="/admin">管理我的博客</a></div>
        <div id="blog_domain">永久域名 <a href="/">http://ddandyy.javaeye.com</a></div>
好吧 修改那段过滤语句 把这3个link留下来

重新打开Proxomitron的窗口 在点击Webpage的界面下面 输入 javaeye blog 也就是刚才定义的规则的名字 恩 那条规则就出来了
1208589B.png
1208589B.png (4.99 KiB) Viewed 33477 times
双击他或者点击右边的edit来重新编辑这个规则(右边的cut是删除) 只要改里面的Matching Expression和下面的Replacement Text就行了 也就是刚才说过的C和D 改完之后是这样
1208589C.png
1208589C.png (4.27 KiB) Viewed 33505 times
这里用到了一种变量 \数字 数字里支持0-9 在匹配语句里使用 匹配的东西类似于* 只不过他会把想匹配的字符记下来 这样可以在下面重新使用他 让他出现在新的地方

第一个link比较简单 被h1包围 只要匹配h1中间就行了

后面的两个 我分别留下了里面的link和a包围的字

然后在最下面还原了这3个link 后面加了BR让他们换行

因为是例子 所以很简陋 先TEST一下吧 看看这样写行不行
12085900.png
12085900.png (6.7 KiB) Viewed 33499 times
出来了 好像是可以的 保存一下看看吧 保存之后 再刷新网页.....
12085901.png
12085901.png (46.09 KiB) Viewed 33473 times
3个link都显示出来了

其实这个例子里面 写的代码都很简陋 这些代码只是为了让不熟悉的人能看得很明白 知道用很简单的语句就能应付几乎所有的情况了

Proxomitron有很多命令可以简化语句 比如 $NEST 可以直接用来匹配嵌套标记 不用像上面的例子一样还要数着中间有多少个<div> $LST 可以指定一个blocklist名字 直接在那个文件里写匹配字符串就可以 他会把网页里所有匹配的代码 全过滤掉 等等

Proxomitron的自带的帮助文件里有很详细的具体的教程 还有例子可以参考
User avatar
phoenix
Site Admin
Posts: 526
Joined: Dec 29 2007, 16:27

Re: Proxomitron过滤之 Step By Step 教程

Post by phoenix »

感谢ddbb的文章,本文因为面向初学者,所以使用了非常简单的例子和代码;而对于sidki的config set的使用者,我做一个简单的提示,Lists\sidki_l_yyyy-mm-dd下的AdKeys-S.ptxt文件是专门用来移除特定网站的特定Class或ID容器的,无需另行编写规则。
ddbb
Moderator
Posts: 425
Joined: Jan 07 2008, 13:30

Re: Proxomitron过滤之 Step By Step 教程

Post by ddbb »

辛苦phoenix了

见笑见笑
班门弄斧了
幸好没砸到脚

sidki config我目前会的不是很多 就是想起来就看一看

又学到了一样........
bayoso
Posts: 8
Joined: Mar 12 2009, 14:05

Re: Proxomitron过滤之 Step By Step 教程

Post by bayoso »

学者楼主进行设置但是,结果没有成功。想把新浪的上面的广告框给删除了,编了这样的规则 <div class="topAD">*</div>*</div>*</div>*</div>*</div>*</div>*</div>*</div>

在test里面成功了,但是打开网页结果还是没有隐藏。请指教。
Attachments
2010-03-24_153130.jpg
2010-03-24_153130.jpg (49.35 KiB) Viewed 29799 times
Bonnie
Moderator
Posts: 165
Joined: Oct 05 2008, 01:27

Re: Proxomitron过滤之 Step By Step 教程

Post by Bonnie »

应该是字节限制不够。我增加到12000后可以正常过滤。不过这个规则存在很多问题,如果只是当练习没准备真的用的话无所谓。
另外下次直接导出规则然后在发帖时粘贴就行了,方便其他人帮你测试,不要截图。
导出规则的方法:在规则列表右键点击想要导出的规则,选择第二项“导出到剪贴板”。
ddbb
Moderator
Posts: 425
Joined: Jan 07 2008, 13:30

Re: Proxomitron过滤之 Step By Step 教程

Post by ddbb »

把右边 允许多重匹配 的勾去掉........
bayoso
Posts: 8
Joined: Mar 12 2009, 14:05

Re: Proxomitron过滤之 Step By Step 教程

Post by bayoso »

我是初学者,因为看惯了用opera过滤后和改版后的页面,有时候又要用到其他浏览器,所有还是找个全局的。这个我昨天看了一个下午,很多看不懂,有没有QQ讨论群,还有教程汇总之类,方便初学者学习的资料。
bayoso
Posts: 8
Joined: Mar 12 2009, 14:05

Re: Proxomitron过滤之 Step By Step 教程

Post by bayoso »

Bonnie wrote:应该是字节限制不够。我增加到12000后可以正常过滤。不过这个规则存在很多问题,如果只是当练习没准备真的用的话无所谓。
另外下次直接导出规则然后在发帖时粘贴就行了,方便其他人帮你测试,不要截图。
导出规则的方法:在规则列表右键点击想要导出的规则,选择第二项“导出到剪贴板”。
请指出,我准备用的,准备作为过滤规则用的。
ddbb
Moderator
Posts: 425
Joined: Jan 07 2008, 13:30

Re: Proxomitron过滤之 Step By Step 教程

Post by ddbb »

QQ群 : 19743473 不过一般我是不在上面说话的.....别人我就不知道了.....

教程的话 就是这个BBS了.....

如果你想过滤sina 这里有一个写好的 http://forum.proxomitron.cn/viewtopic.php?f=5&t=44

我这个贴子只是举出了一个最简单的例子.....如果一个页面有大面积需要过滤的话....你还是看一下那个贴子是怎么做的.....
bayoso
Posts: 8
Joined: Mar 12 2009, 14:05

Re: Proxomitron过滤之 Step By Step 教程

Post by bayoso »

ddbb wrote: 如果你想过滤sina 这里有一个写好的 http://forum.proxomitron.cn/viewtopic.php?f=5&t=44

我这个贴子只是举出了一个最简单的例子.....如果一个页面有大面积需要过滤的话....你还是看一下那个贴子是怎么做的.....
规则这么对我这个门外汉还是比较高深的,我还不知道怎么弄。因为这里没有系统归类的教程。所以我先学你这个,但是写了很多次,也试了好几次,自己写的规则,就是不起作用,每次打开ie都没有任何效果,

Code: Select all

[Patterns]
Name = "sina"
Active = TRUE
URL = "*.sina.*"
Limit = 12000
Match = "<div class="topAD">*</div>*</div>*</div>*</div>*</div>*</div>*</div>*</div>"
这是我的写的,请指教哪里出错了。在测试里面都成功了,就是在网页里消失不掉。
Post Reply