记一次对可恶站点的抗争
背景
有些网站本身有挺多高质量的内容,但非得走上让人恶心 🤮 的道路,所以在这里记录一下跟他们抗争的历程。
某书
最近想查一些树形结构存储方案,看到一篇某书上的文章,打开一看,简直是震惊啊龙几十年!
用几个词来形容: 内容被忽视,广告粗劣,小黄文占领了主体……
大致如下:
之前某书是一个多么干净、沉浸的文字平台啊,很多程序猿、小文艺都喜欢在上面写写文章,如今……
但无可奈何,这个平台上还是有一些知识遗产,之前积累起来的中文搜索关键词还被这个平台占据着,有时候搜索一些东西还是会被引导这个平台上来,所以……得净化一下……
简单的净化方案
uBlock
这是一个 chrome 插件,可以用于 元素过滤、脚本过滤、多媒体过滤等
插件地址: uBlock Origin
- 使用元素选择器,把一些恶心的模块干掉
这种方式对 顶部广告、底部广告、底部恶心推荐 都很有效。
但是对右侧的 热门故事 模块几乎无效。因为选择器直接选择时候的选择器是 class 选择器,而 class 名经常可能会发生变化,导致失效,所以我们得找一个更好的元素选择路径。
- 扒一下前端页面的结构
可以发现,这个网站的生成应该是 next.js 做的服务端渲染,结构很鲜明,role=”main” 的块为页面主体, aside 为侧边栏。
- 于是我们可以这样操作
选择器为 ##div[role=main] > aside
,效果是这样的:
- 探索一下另一条路
由于页面的主体是静态的,而页面的推荐内容是动态的,也就意味着一定会发送对应的请求出去,那么 block 这些请求也是一个不错的方式。
于是扒了一下页面请求:
可以发现,这些就是我们最不喜欢的东西,有广告的、恶心推荐的、行为上报的……
之后可以玩一下接口过滤
一番操作下来,舒服多了…… 可以继续看文章了
- 后记
uBlock 很强大,默认会做一些关键词过滤,例如 ad
,但这个粒度相对较大,有时候会误把一些需要的信息给屏蔽掉,导致个别网站访问失败,或者操作报错 之类的,一般发现你的浏览器 和 别人的浏览器 对某个页面的表现不一致时,建议把 uBlock 关上试试,如果真是因为 uBlock 过滤的问题,那就把这个站点加个白名单。
另外,也可以用下面这种方式 👇👇👇
TamperMonkey
油猴是一个页面脚本管理工具,可以自定义任何的 js, 这需要写一些简单的 js 代码,实现的逻辑和 uBlock 一样,去除一些页面特定的元素。
找了一下油猴的脚本社区,搜了一下,发现之前有一个哥们儿用 jquery + class 选择器做的,估计已经用不了了,我顺手写一个吧:
1 |
|
这个也发布到 Greasy Fork 社区了,有同样诉求的同学可以自行获取。
某SDN
……目前用了 uBlock 做推荐拦截,用了 简悦 做 copy ,先解决了问题,以后有什么特别的恶心的地方再做梳理吧……
某书后续
- 外链跳转优化
- 生成文章目录层级
We can only learn to love by loving.
— Iris Murdoch
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!