实现方法:往网页里注入代码,替换全局的 fetch 和 xhr ,对 api 返回的 json 数据进行过滤。
使用场景 1:知乎搜索结果里带视频的基本上都是营销号,把他们过滤掉。
使用场景 2:Twitter 推荐流,按关键词屏蔽某些推文或回复。
使用场景 3:有 figma 用户抱怨国人在老外项目下回复 666 、老铁等无意义评论,比较碍眼,可以屏蔽这些评论。
和 adblocker 相比,过滤 API 更简单稳定,大家觉得这个想法怎么样?
1
wdssmq 2022-06-13 17:51:03 +08:00
有没有可能,你说的这种方式,它没法做到那么「通用」- -
|
3
autoxbc 2022-06-13 18:00:58 +08:00
有些数据是拉取的,有些就在 html 里,数据格式也各不一样,所以还是要按网站来写。也不需要做成扩展,油猴足够了
|
4
RedBeanIce 2022-06-13 18:19:18 +08:00 via iPhone
根据 url 展示有不同的处理规则。
|
5
8bryo4p5qn758Dmv 2022-06-13 18:22:55 +08:00
使用全局代理,针对 JSON API 编写匹配规则,例如$.user.name 符合某个条件就把 value 替换或删除,我觉得难点还是在交互上,如何让整个过程简单易用。
|
6
codehz 2022-06-13 18:33:14 +08:00
扩展倒是有直接修改请求的方法)
执行一个脚本去改请求和响应是可以做到的( 就是现在各大扩展商店对这种执行任意外部脚本的扩展审核非常严格,猴油能过是因为已经过了,新的要搞基本上就没戏了 |
7
zhw2590582 2022-06-13 18:45:24 +08:00
给每个网站写个过滤函数,上千上万个网站,是用户写,还是扩展自带呢?
|
8
vance123 OP 我已经做了一个 demo (感谢 https://github.com/YGYOOO/ajax-interceptor 提供的脚手架代码)
现在一个比较有意思的用法是根据知乎回答者的回答数和关注数之比判断是不是营销号。用 adblocker 做不到这一点,因为需要发出一个新的异步请求 |
9
cest 2022-06-13 18:48:42 +08:00 2
用 addon 自动刷新,自动下滑,自动抓取内容, 自动 post 到自己 server
接下来,过滤垃圾,提取 nsfw 图片原图,各种统计,随你高兴 处理完再 notify 有更新了 用自己喜欢的排版来看,还可以自己打分标记,让过滤更有效 海量自动化生成的垃圾资讯浪费你时间 你唯一能做的只有用机器对抗机器 屎山裡淘金 |
10
vance123 OP @zhw2590582 主要针对几个常用的网站写插件,可以把 API 返回的数据正则化,统一成 title/author/content/type 等等,让用户自己填想过滤的关键词
|
11
vance123 OP @cest 说的对,过滤知乎和微博确实有屎里淘金的感觉(说句题外话,我发现知乎的搜索即使有更好的结果,它也不会给你展示出来,可以说是专门挑了一堆 shit 给用户看,知乎搜索真是侮辱了搜索这个词)
|
12
juggtt213 2022-06-13 21:28:54 +08:00
@vance123 确实,不过现在直接去各种社区 /问答网站搜还是比直接搜索引擎搜强,那些内容农场的权重太离谱,一点进去看语法风格就知道是四处爬的 /机翻老外论坛的内容,感觉搜索引擎直搜才是真的屎里淘金
|
13
lenjeans 2022-06-13 21:42:10 +08:00
之前是用 adguard ,但是没有那么“精细”
|
14
dearmymy 2022-06-13 21:47:53 +08:00
知乎是挺需要的。。把什么故事会,情感类的都屏蔽了。。。
|
15
lllyglh 2022-06-14 09:21:30 +08:00
支持楼主的想法,有相同需求,蹲楼主一个成品
|
16
goodryb 2022-06-14 12:31:06 +08:00
这个主意不错,尤其是知乎,脑残、营销文太多了
|
17
caqiko 2022-06-15 10:34:10 +08:00
自用的 uBlock Origin 知乎视频屏蔽规则,包括首页和搜索结果页
! 2022-05-29 https://www.zhihu.com www.zhihu.com##.ZVideoItem-video www.zhihu.com##.VideoAnswerPlayer www.zhihu.com##div.Card:has(div[data-za-extra-module*="video_id"]) www.zhihu.com##div.Card:has(div[class*="ZvideoItem"]) |
18
RealGM 2022-06-16 12:42:18 +08:00
谁能写一个过滤 360 域名网页广告的插件,我付重金
|
20
ychost 2022-06-16 19:03:15 +08:00
油猴吧,想怎么搞都可以
|
21
vance123 OP |
22
binghe 2022-06-22 00:32:28 +08:00
可能针对网站写效果才会好,我圈 X 加了一个知乎脚本,屏蔽了“苹果、华为、小米、miui 、红米、外卖等等“一些关键词,感觉清爽好几倍
|