google提供的广告怎么关闭(屏蔽谷歌广告的软件怎么设置)

个人更喜欢用google进行搜索,然后抽空的时候可以看看百度热搜,来回切换总有点不方便,所以编写一个的油猴脚本,实现谷歌搜索去广告,然后右侧展示百度搜索结果和热搜,先看下使用前效果

google提供的广告怎么关闭(屏蔽谷歌广告的软件怎么设置)

脚本运行后的效果

google提供的广告怎么关闭(屏蔽谷歌广告的软件怎么设置)

api介绍

先放一个官方文档地址,下面介绍下这次用到的脚本Api

例子:@match
https://www.google.com.hk/*

例子:@grant GM_xmlhttpRequest 可以实现跨域请求,在访问谷歌页面的时候请求百度页面,然后将热搜缝合在右侧

例子:@require
https://libs.baidu.com/jquery/2.1.4/jquery.min.js 引入jquery脚本

分析

谷歌搜索页

访问网页,按f12打开控制台,发现广告在id为taw的div下面

google提供的广告怎么关闭(屏蔽谷歌广告的软件怎么设置)

右侧的内容在id为rhs的div下面,有时候不存在右侧内容,可以将热搜结果放在#rcnt下

google提供的广告怎么关闭(屏蔽谷歌广告的软件怎么设置)

百度搜索页

右侧的热搜是放在class为toplist1-tr*的下面,网页其实是把30条热搜全部加载完成之后,点击切换通过控制css display: none; 来显示和隐藏。所以可以通过正则 /<div class=”toplist1-tr([\s\S])*?<\/div>/g 将他们全部取出来

google提供的广告怎么关闭(屏蔽谷歌广告的软件怎么设置)

顺便也可以把搜索的结果展示在右侧,通过 /<h3 class=”c-title t t tts-title”>/g 来获取所有结果。匹配之后发现一个issue,百度自家的搜索结果没匹配上,正好这些结果没啥用。

google提供的广告怎么关闭(屏蔽谷歌广告的软件怎么设置)

核心代码

在页面加载完成后执行脚本,获取百度结果,然后拼接,开始以为点击搜索是异步请求,结果是前后端不分离的,整个页面刷新,所以每次搜素后都会执行这个脚本,就不用hook一些点击事件、请求、dom发生变化之类的东西,执行就ok。

去除谷歌广告

获取百度搜索结果

完整代码


本文来自投稿,不代表本站立场,转载请注明:https://www.qingyangmei.com/99710.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 87833061@qq.com 举报,一经查实,本站将立刻删除。