奔跑中的奶酪

独家!看完没人比你更懂去除网页水印!

导读

独家!看完没人比你更懂去除网页水印!

国内互联网的科技树,有时会点在一些奇怪的地方。

奶酪之前吐槽过“超不链接”和“互联不网”,它的后果是导致中文语料库不足,以致于国内人工智能很难发展起来。

此外,“网页水印”也是一个奇怪的点。

要不是我经常访问国外网站,我差点就认为“网页水印”已经成为了互联网的常态了。

一、网页水印

我们经常能看到一些网页被满屏的水印填满,其目的无非是以下两种。

1.1、防止信息泄密

第一种情况防止信息泄密,一般是公司内网或小圈子社区,喜欢用这个功能。

它们担心内部信息被截图发出去,通过添加阅读者的水印信息,就可以知道是谁泄漏出去的,起到震慑的作用。

1.2、标记知识产权

另一种情况更常见,也就是水印用来标记原作者

你辛辛苦苦做出来的原创作品,肯定不愿意让别人,特别是营销号给一键盗取了,这很容易理解。

而且,国内平台还会主动帮用户添加上水印,比如微博、知乎都是这样。

1.3、更好的水印方案?

但是,一些网站为了凸显自己品牌,会在网页添加上密密麻麻的水印,一眼看上去,水印倒为了内容的主体。

优秀的工匠在给自己的作品签名时,会考虑让签名与作品融为一体,成为作品的一部分。

而不是像皮癣一样让人生厌。

此外,就算你添加水印,是为了防止别人盗用你的内容。

以现在 ORC 识别能力之先进,一字不差地将网页内容报取出来,也是分分钟的事。

有没有更好的方案呢?

我想肯定是有的,但这需要有全民的共识

二、网页水印的形式

从水印的展现形式上看,水印可以分为“明水印”和“暗水印”两种。

2.1、明水印

明水印,是指人眼看得见的水印,比较典型的是腾讯文档,可谓花样繁多。

可以显示作者的水印,也可以显示访客的水印信息。

i63_明水印

2.2、暗水印

暗水印,指人眼不能轻易看见的水印。

我们经常听到某某公司员工,将内网信息截图泄漏出去,然后很快就被查出是谁截的图,原因就是暗水印的存在。

暗水印的实现方式很多,也很复杂。

常见的方法,是添加一个透明度很低的水印,肉眼很难看出来,但通过调整色阶的方法,可以让暗水印得以显现。

i63_暗水印

此前豆瓣、知乎都尝试过引入暗水印。

但被网友质疑该做法泄露了用户隐私,认为暗水印的添加,没有遵循“公开明示”的原则。

后来,在网友的抗议之下,豆瓣、知乎匆忙下线了该功能。

三、网页水印的实现

从水印的实现方式来看,水印也可以分为“后端服务器”和“前端浏览器”两种。

3.1、后端服务器

后端服务器,就是网站用服务器来处理添加水印,通常是该资源为某个用户独有,所以水印也通常是“硬水印”。

比如微博、知乎、B 站的水印就是这样的。

i63_后端服务器

3.2、前端浏览器

而如果该资源不是某个用户的专属,在不同用户查看时,需要添加不同的水印,又或者该资源体积很大时。

使用前端浏览器来添加水印,更方便。

i63_前端浏览器

四、网页水印的去除

暗水印和后端服务器生成的水印,一般很难去除。

但明水印和前端浏览器生成的水印,是很容易去除了,即使是一般的用户也可以轻松搞定。

4.1、情况一:DIV

最常见的情况,是水印被指定了一个单独的 DIV 元素,只需要在开发者工具找到对应的元素,删除后即可隐藏

i63_情况一

4.2、情况二:CSS

第二种情况,是水印为背景图片,而且水印被嵌入到了主体内容里,一旦隐藏了水印,那么主体内容也会被隐藏。

与之相对应的做法,可以用 CSS 语法 “{background-image:none! important}” 来隐藏。

i63_情况二

4.3、情况三:JS

还有一种情况,是用 JS。

JS 有一个可以监控元素改动的 API,一旦检测到水印被移除,就会使页面停止工作,百度的文心一言就是如此。

但这也不是牢不可破的,只需要单独应对即可,比如下面这个油猴脚本就可以解决。

地址:https://github.com/1595901624/ERNIEBotHelper

i63_情况三

注意:安装时需要点击“script.js”,然后手动安装这个脚本到油猴里。

五、网页水印的过滤

比较常用的去水印方法,是用油猴脚本。

但考虑到更好的性能,使用 Ublock Origin 等广告过滤扩展来去除水印,是更好的方法。

5.1、添加方法

如果是要隐藏某个 DIV 元素。

添加过滤规则的方法,是在域名 abc.com 后加上 ##,然后添加 DIV 元素

ID 元素用选择符 #,class 元素用选择符 .,感叹号 ! 的作用是注释

! abc.com 去水印
abc.com###watermark
abc.com##.watermark

如果是用 CSS 的方法来隐藏水印。

添加过滤规则的方法,是在域名 abc.com 后加上 ##,然后添加 DIV 元素,最后再加上 :styleCSS 语法

! abc.com 去水印
abc.com##.watermark:style(background-image:none! important)
abc.com##[watermark="main"]:style(background-image:none! important)

下图展示的,就是两种比较典型的过滤规则写法。

i63_过滤规则1

5.2、订阅规则

当然,你也可以直接订阅现成的过滤规则。

在 GitHub 上奶酪就维护着 2 条过滤规则,国内大部分网站都有,只要遇到满屏水印的情况,我都会随手添加上。

i63_过滤规则3

点击文件链接,再点击 Raw,就可获取过滤规则。

主页链接:
https://github.com/runningcheese/RunningCheese-Firefox/tree/master/Restore

订阅链接:
https://gcore.jsdelivr.net/gh/runningcheese/RunningCheese-Firefox/Restore/Adblock_Watermark.txt

i63_过滤规则4

最后,在 Ublock Origin 等广告过滤扩展里订阅该规则,即可一键启用。

i63_过滤规则2

5.3、提交或请求

如果你也有水印过滤规则,又或者想去除某某网站的水印,但不会操作,你可以在奶酪的 GitHub 上提交 Issues

i63_过滤规则5

结尾

考虑到去除网页水印,可能会侵犯原作者的利益,奶酪并没有单独成立一个 GitHub 项目。

这 2 条过滤规则就送给有缘人吧,大家小范围使用即可,切勿传播!

也仅限于个人学习使用,切勿用于其它用途。

最后

  1. 欢迎关注奶酪 公众号 获取奶酪所有的原创资源,回复文章编号,比如 i63 就可获取对应的资源。
  2. 欢迎订阅我的 “奶酪书签专业版”,15年沉淀,超过 5000 个分类井条有序的好用实用 html 网站书签。
  3. 本文由「奔跑中的奶酪」原创创作,欢迎订阅、留言和 打赏,也欢迎引用和转载,但要注明出处。
注:本文由 奔跑中的奶酪 作者:奔跑中的奶酪 发表,其版权均为作者所有,如需转载,请注明作者名字以及文章来源。
37
avatar

发表回复