V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
niuoh
V2EX  ›  问与答

记今天自己实现的一个去广告的功能

  •  
  •   niuoh · 2017-07-31 20:19:20 +08:00 · 1500 次点击
    这是一个创建于 2672 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天突发奇想想自己写个 chrome 扩展 功能是每个网站都执行一段自己写的 js 通过 dom 操作去广告
    于是就马上动手做了 做一个光执行一段 js 的 chrome 扩展还是很简单的 百度了一会就进入写 js 的正题了

    先自己手动找了几个有广告的网站(ps:www.china.com 的广告真是多 这样好吗)
    然后根据广告标签上的某些不变的属性通过 jquery 选择器去掉了 百度 google 和阿里妈妈 jd 的广告
    看到百度搜索页的推广广告 于是想顺手也去了

    刚开始很简单 也是选择器选择推广的 div 然后 remove
    然后发现推广广告又出现了! 我想不愧是百度 我这种做法原来早就在人家的考虑之中
    然后 我把去广告的代码加了个一秒钟之后延迟在执行一次的功能
    然后发现 百度推广消失了两次之后再次出现了!
    于是我就干脆每一秒循环执行吧
    但百度推广在消失了两次之后 第三次出现的广告 div 变化了!
    [广告] 两个字的标识变成了纯文本 除此之后 div 内容和正常的搜索结果无异
    我真是服了 今天先到这 明天在跟他肛 屈服在我的努力之下是早晚的事

    ps:另外我发现 csdn 博客 对广告的去除也做了处理
    博客正文的 class 和 广告位 div 的 class 用相同的属性 去掉广告也就去除了正文
    当然 对 csdn 特别处理能解决

    5 条回复    2017-08-01 10:02:20 +08:00
    niuoh
        1
    niuoh  
    OP
       2017-07-31 20:26:02 +08:00
    另外也针对某些网站 写了一些功能<br>
    比如把 V2EX topic 中的图片链接 自动换成图片标签 直接显示
    ysc3839
        2
    ysc3839  
       2017-07-31 20:42:25 +08:00 via Android
    我有一个疑问,执行自己的 js,那直接用 userscript 不就好了吗?
    azh7138m
        3
    azh7138m  
       2017-08-01 08:33:05 +08:00 via Android
    ublock,abp 都是这样子用的呀
    autoxbc
        4
    autoxbc  
       2017-08-01 09:57:47 +08:00 via iPhone
    去广告本质是前端逆向工程
    不要依赖选择器,那是表象
    去读他加广告的代码
    oott123
        5
    oott123  
       2017-08-01 10:02:20 +08:00 via Android
    道理我都懂,可为啥不装个 uBlock 呢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2782 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 14:45 · PVG 22:45 · LAX 06:45 · JFK 09:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.