V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
vance123
V2EX  ›  奇思妙想

能不能写一个通用过滤插件,过滤掉网页上不想看到的内容

  •  
  •   vance123 · 2022-06-13 17:44:37 +08:00 via Android · 3214 次点击
    这是一个创建于 654 天前的主题,其中的信息可能已经有所发展或是发生改变。

    实现方法:往网页里注入代码,替换全局的 fetch 和 xhr ,对 api 返回的 json 数据进行过滤。

    使用场景 1:知乎搜索结果里带视频的基本上都是营销号,把他们过滤掉。

    使用场景 2:Twitter 推荐流,按关键词屏蔽某些推文或回复。

    使用场景 3:有 figma 用户抱怨国人在老外项目下回复 666 、老铁等无意义评论,比较碍眼,可以屏蔽这些评论。

    和 adblocker 相比,过滤 API 更简单稳定,大家觉得这个想法怎么样?

    22 条回复    2022-06-22 00:32:28 +08:00
    wdssmq
        1
    wdssmq  
       2022-06-13 17:51:03 +08:00
    有没有可能,你说的这种方式,它没法做到那么「通用」- -
    vance123
        2
    vance123  
    OP
       2022-06-13 18:00:25 +08:00
    @wdssmq 可以给每个网站写个过滤函数,像 rsshub 那样
    autoxbc
        3
    autoxbc  
       2022-06-13 18:00:58 +08:00
    有些数据是拉取的,有些就在 html 里,数据格式也各不一样,所以还是要按网站来写。也不需要做成扩展,油猴足够了
    RedBeanIce
        4
    RedBeanIce  
       2022-06-13 18:19:18 +08:00 via iPhone
    根据 url 展示有不同的处理规则。
    whitecosm0s
        5
    whitecosm0s  
       2022-06-13 18:22:55 +08:00
    使用全局代理,针对 JSON API 编写匹配规则,例如$.user.name 符合某个条件就把 value 替换或删除,我觉得难点还是在交互上,如何让整个过程简单易用。
    codehz
        6
    codehz  
       2022-06-13 18:33:14 +08:00
    扩展倒是有直接修改请求的方法)
    执行一个脚本去改请求和响应是可以做到的(
    就是现在各大扩展商店对这种执行任意外部脚本的扩展审核非常严格,猴油能过是因为已经过了,新的要搞基本上就没戏了
    zhw2590582
        7
    zhw2590582  
       2022-06-13 18:45:24 +08:00
    给每个网站写个过滤函数,上千上万个网站,是用户写,还是扩展自带呢?
    vance123
        8
    vance123  
    OP
       2022-06-13 18:45:34 +08:00
    我已经做了一个 demo (感谢 https://github.com/YGYOOO/ajax-interceptor 提供的脚手架代码)

    现在一个比较有意思的用法是根据知乎回答者的回答数和关注数之比判断是不是营销号。用 adblocker 做不到这一点,因为需要发出一个新的异步请求
    cest
        9
    cest  
       2022-06-13 18:48:42 +08:00   ❤️ 2
    用 addon 自动刷新,自动下滑,自动抓取内容, 自动 post 到自己 server
    接下来,过滤垃圾,提取 nsfw 图片原图,各种统计,随你高兴
    处理完再 notify 有更新了
    用自己喜欢的排版来看,还可以自己打分标记,让过滤更有效

    海量自动化生成的垃圾资讯浪费你时间
    你唯一能做的只有用机器对抗机器
    屎山裡淘金
    vance123
        10
    vance123  
    OP
       2022-06-13 18:50:04 +08:00
    @zhw2590582 主要针对几个常用的网站写插件,可以把 API 返回的数据正则化,统一成 title/author/content/type 等等,让用户自己填想过滤的关键词
    vance123
        11
    vance123  
    OP
       2022-06-13 18:58:09 +08:00
    @cest 说的对,过滤知乎和微博确实有屎里淘金的感觉(说句题外话,我发现知乎的搜索即使有更好的结果,它也不会给你展示出来,可以说是专门挑了一堆 shit 给用户看,知乎搜索真是侮辱了搜索这个词)
    juggtt213
        12
    juggtt213  
       2022-06-13 21:28:54 +08:00
    @vance123 确实,不过现在直接去各种社区 /问答网站搜还是比直接搜索引擎搜强,那些内容农场的权重太离谱,一点进去看语法风格就知道是四处爬的 /机翻老外论坛的内容,感觉搜索引擎直搜才是真的屎里淘金
    lenjeans
        13
    lenjeans  
       2022-06-13 21:42:10 +08:00
    之前是用 adguard ,但是没有那么“精细”
    dearmymy
        14
    dearmymy  
       2022-06-13 21:47:53 +08:00
    知乎是挺需要的。。把什么故事会,情感类的都屏蔽了。。。
    lllyglh
        15
    lllyglh  
       2022-06-14 09:21:30 +08:00
    支持楼主的想法,有相同需求,蹲楼主一个成品
    goodryb
        16
    goodryb  
       2022-06-14 12:31:06 +08:00
    这个主意不错,尤其是知乎,脑残、营销文太多了
    caqiko
        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"])
    RealGM
        18
    RealGM  
       2022-06-16 12:42:18 +08:00
    谁能写一个过滤 360 域名网页广告的插件,我付重金
    qwang1113
        19
    qwang1113  
       2022-06-16 15:12:21 +08:00
    @RealGM 聊聊? d2VjYWh0PXd3cTQwNA==
    ychost
        20
    ychost  
       2022-06-16 19:03:15 +08:00
    油猴吧,想怎么搞都可以
    vance123
        21
    vance123  
    OP
       2022-06-19 20:10:36 +08:00
    binghe
        22
    binghe  
       2022-06-22 00:32:28 +08:00
    可能针对网站写效果才会好,我圈 X 加了一个知乎脚本,屏蔽了“苹果、华为、小米、miui 、红米、外卖等等“一些关键词,感觉清爽好几倍
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   950 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 21:05 · PVG 05:05 · LAX 14:05 · JFK 17:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.