独家!看完没人比你更懂去除网页水印!
导读
国内互联网的科技树,有时会点在一些奇怪的地方。
奶酪之前吐槽过“超不链接”和“互联不网”,它的后果是导致中文语料库不足,以致于国内人工智能很难发展起来。
此外,“网页水印”也是一个奇怪的点。
要不是我经常访问国外网站,我差点就认为“网页水印”已经成为了互联网的常态了。
一、网页水印
我们经常能看到一些网页被满屏的水印填满,其目的无非是以下两种。
1.1、防止信息泄密
第一种情况防止信息泄密,一般是公司内网或小圈子社区,喜欢用这个功能。
它们担心内部信息被截图发出去,通过添加阅读者的水印信息,就可以知道是谁泄漏出去的,起到震慑的作用。
1.2、标记知识产权
另一种情况更常见,也就是水印用来标记原作者。
你辛辛苦苦做出来的原创作品,肯定不愿意让别人,特别是营销号给一键盗取了,这很容易理解。
而且,国内平台还会主动帮用户添加上水印,比如微博、知乎都是这样。
1.3、更好的水印方案?
但是,一些网站为了凸显自己品牌,会在网页添加上密密麻麻的水印,一眼看上去,水印倒为了内容的主体。
优秀的工匠在给自己的作品签名时,会考虑让签名与作品融为一体,成为作品的一部分。
而不是像皮癣一样让人生厌。
此外,就算你添加水印,是为了防止别人盗用你的内容。
以现在 ORC 识别能力之先进,一字不差地将网页内容报取出来,也是分分钟的事。
有没有更好的方案呢?
我想肯定是有的,但这需要有全民的共识。
二、网页水印的形式
从水印的展现形式上看,水印可以分为“明水印”和“暗水印”两种。
2.1、明水印
明水印,是指人眼看得见的水印,比较典型的是腾讯文档,可谓花样繁多。
可以显示作者的水印,也可以显示访客的水印信息。
2.2、暗水印
暗水印,指人眼不能轻易看见的水印。
我们经常听到某某公司员工,将内网信息截图泄漏出去,然后很快就被查出是谁截的图,原因就是暗水印的存在。
暗水印的实现方式很多,也很复杂。
常见的方法,是添加一个透明度很低的水印,肉眼很难看出来,但通过调整色阶的方法,可以让暗水印得以显现。
此前豆瓣、知乎都尝试过引入暗水印。
但被网友质疑该做法泄露了用户隐私,认为暗水印的添加,没有遵循“公开明示”的原则。
后来,在网友的抗议之下,豆瓣、知乎匆忙下线了该功能。
三、网页水印的实现
从水印的实现方式来看,水印也可以分为“后端服务器”和“前端浏览器”两种。
3.1、后端服务器
后端服务器,就是网站用服务器来处理添加水印,通常是该资源为某个用户独有,所以水印也通常是“硬水印”。
比如微博、知乎、B 站的水印就是这样的。
3.2、前端浏览器
而如果该资源不是某个用户的专属,在不同用户查看时,需要添加不同的水印,又或者该资源体积很大时。
使用前端浏览器来添加水印,更方便。
四、网页水印的去除
暗水印和后端服务器生成的水印,一般很难去除。
但明水印和前端浏览器生成的水印,是很容易去除了,即使是一般的用户也可以轻松搞定。
4.1、情况一:DIV
最常见的情况,是水印被指定了一个单独的 DIV 元素,只需要在开发者工具找到对应的元素,删除后即可隐藏。
4.2、情况二:CSS
第二种情况,是水印为背景图片,而且水印被嵌入到了主体内容里,一旦隐藏了水印,那么主体内容也会被隐藏。
与之相对应的做法,可以用 CSS 语法 “{background-image:none! important}” 来隐藏。
4.3、情况三:JS
还有一种情况,是用 JS。
JS 有一个可以监控元素改动的 API,一旦检测到水印被移除,就会使页面停止工作,百度的文心一言就是如此。
但这也不是牢不可破的,只需要单独应对即可,比如下面这个油猴脚本就可以解决。
地址:https://github.com/1595901624/ERNIEBotHelper
注意:安装时需要点击“script.js”,然后手动安装这个脚本到油猴里。
五、网页水印的过滤
比较常用的去水印方法,是用油猴脚本。
但考虑到更好的性能,使用 Ublock Origin 等广告过滤扩展来去除水印,是更好的方法。
5.1、添加方法
如果是要隐藏某个 DIV 元素。
添加过滤规则的方法,是在域名 abc.com 后加上 ##,然后添加 DIV 元素。
ID 元素用选择符 #,class 元素用选择符 .,感叹号 ! 的作用是注释。
! abc.com 去水印
abc.com###watermark
abc.com##.watermark
如果是用 CSS 的方法来隐藏水印。
添加过滤规则的方法,是在域名 abc.com 后加上 ##,然后添加 DIV 元素,最后再加上 :style 的 CSS 语法。
! abc.com 去水印
abc.com##.watermark:style(background-image:none! important)
abc.com##[watermark="main"]:style(background-image:none! important)
下图展示的,就是两种比较典型的过滤规则写法。
5.2、订阅规则
当然,你也可以直接订阅现成的过滤规则。
在 GitHub 上奶酪就维护着 2 条过滤规则,国内大部分网站都有,只要遇到满屏水印的情况,我都会随手添加上。
点击文件链接,再点击 Raw,就可获取过滤规则。
主页链接:
https://github.com/runningcheese/RunningCheese-Firefox/tree/master/Restore
订阅链接:
https://gcore.jsdelivr.net/gh/runningcheese/RunningCheese-Firefox/Restore/Adblock_Watermark.txt
最后,在 Ublock Origin 等广告过滤扩展里订阅该规则,即可一键启用。
5.3、提交或请求
如果你也有水印过滤规则,又或者想去除某某网站的水印,但不会操作,你可以在奶酪的 GitHub 上提交 Issues。
结尾
考虑到去除网页水印,可能会侵犯原作者的利益,奶酪并没有单独成立一个 GitHub 项目。
这 2 条过滤规则就送给有缘人吧,大家小范围使用即可,切勿传播!
也仅限于个人学习使用,切勿用于其它用途。
最后
- 欢迎关注奶酪 公众号 获取奶酪所有的原创资源,回复文章编号,比如 i63 就可获取对应的资源。
- 欢迎订阅我的 “奶酪书签专业版”,15年沉淀,超过 5000 个分类井条有序的好用实用 html 网站书签。
- 本文由「奔跑中的奶酪」原创创作,欢迎订阅、留言和 打赏,也欢迎引用和转载,但要注明出处。
想请问一下 这些都集成在 RunningCheeseChrome 吗?我是下载了浏览器 就直接可以使用?
是