【工具】JS|浏览器脚本6分钟极速入门 · 开发一个限制自己刷b站的脚本

在这里插入图片描述

这张图花里胡哨的是让AI生成的,我觉得怪可爱的,就直接作为封面了。

这篇文章中会开发一个JS脚本,这是一个用来限制b站网页版功能的脚本,避免刷b站的时间过长。功能如下:

  1. 除了搜索、视频页、私信页之外的任何页都会被重定向到搜索页;
  2. 视频页去掉相关推荐,并且非自己的视频去掉评论。

以下内容是视频的文本,6分钟极速入门浏览器脚本开发-Bilibili-shandianchengzi。具体要结合视频阅读。

脚本下载链接:https://github.com/shandianchengzi/Bilibili-self-discipline-script/blob/main/README.md。

如果只是使用的话就不用往下看了,直接安装即可。

文章目录

    • 1 脚本创建
    • 2 脚本信息
    • 3 脚本仓库
    • 4 脚本基本开发
    • 5 脚本功能完善

1 脚本创建

想要在浏览器中运行脚本,首先就要在浏览器中下载一个用于管理脚本的扩展插件。我们常用的管理脚本的浏览器插件可以在微软自带的浏览器中直接搜到,你可以在谷歌商店搜到,但是谷歌商店需要科学上网,所以不太合适。

现在微软商店中的tampermonkey被改名为篡改猴。安装好了这个插件之后,就可以看到右上角多了一个图标。如果没有多的话就需要按钉子显示出来。

随后点击这个图标的创建新脚本,他就会生成一个最简脚本模板让你填写了。

2 脚本信息

这个脚本的头部包含一些脚本信息,主要需要修改的就是脚本的介绍、作者信息。我们今天开发的脚本是一个b站自律脚本,它的功能我设计的第一是强制跳转到搜索页,这样就不会看到主页上面的相关视频。第二个功能是视频也去掉相关推荐。并且去掉底下的评论,因为我每次看评论都会看非常久。

可以看到这两个功能都是非常简单的,所以这也是我想把这个脚本作为一个教学脚本的原因。

一个额外需要关注的信息是match,这是指你的脚本在哪一些网页中会加载。比如我们这里是在b站中,所以match就b站就可以。

作为小白需要重点知道的就是通配符*,这个经常写代码的人都知道,意思是后面加任何东西都当作被匹配。

icon就是脚本的图标,随便找张无版权的图片,复制图片链接即可,也可以不修改。

3 脚本仓库

创建好脚本之后,再点开能匹配脚本的页面,就可以看到右上角有小红点,这代表脚本被加载过。

然后继续进一步完善脚本的内容。
我的建议是新建一个github仓库,这样能对脚本进行版本控制,并且开源了别人也能一起帮忙完善。
新建仓库,需要填写名字以及描述,比较特殊的是协议,新人往往不注重协议,但是实际上协议是非常重要的,它直接声明了你的仓库是否对你来说有版权。

比较常用的三种协议有Apache,MIT和GNU。其中阿帕奇允许衍生的产品商用或专有,Mit只保留作者版权,其他的任何使用都不做限制。Gnu就是不允许商用。它做出来的衍生代码必须是继续使用gnu协议、并开源的。

我这里使用的是我比较喜欢的GNU协议,因为我并不希望我这种小破脚本都被拿去商用。对于这种纯粹为了开源和使用而分享出来的脚本被拿去商用对分享者来说是一种非常大的伤害。

创建好仓库之后,把它克隆到本地,再用VScode打开就可以开始我们的编写了。

4 脚本基本开发

对于这种常规脚本,最快的方式还是结合AI,Vscode里有微软开发的Github Copilot,对于学生和老师,只需要在Github上申请即可开通使用,具体申请方式去看Github官网。

装好插件之后,我们输入一些注释,让人工智能自动生成部分代码。它选择先解析网址,我们可以去b站上查找一下这些网址的特征,然后在注释里提供给它,这样它就不会胡乱生成一些解析代码了。

比较容易实现的功能是非视频页重定向,这里强制使窗口链接等于搜索页即可。不过在写的时候会遇到浏览器脚本老生常谈的一个问题,就是脚本加载次数过多。

通过分析浏览器控制台的输出信息,可以知道在每次收到新的xhr请求的时候,都会重新加载一次,说明它主要的加载可能是在子页面。前端的开发者会知道,为了不重复开发一些边框组件,往往开发的时候先做一个框,框里面嵌套子页面,也就是嵌套别的网页文件。

搜索解决办法找到了仅允许顶端加载。这一个设置必须在脚本管理插件中手动添加,脚本的开发开发添加这个设置非常麻烦。你如果你要使用或者自己编写脚本的话,你最好也把这个设置开开,而不是寄希望于开发者。

再次运行的时候现它只加载了一次了。
视频到这里,我们已经完成了最简单的脚本开发,在接下来的视频中,我们会进一步完善整个脚本的功能。

5 脚本功能完善

视频还没做,改天再做。反正代码都给出来了、、、

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/263682.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[每周一更]-(第76期):Go源码阅读与分析的方式

读源码可以深层理解Go的编写方式,理解作者们的思维方式;也有助于对Go语法用法深刻的理解,我们从这一篇说一下如何读源码,从哪些源码着手,从 简单到深入的方式学习源码; 学习源码也是一个修炼过程&#xff0…

windows下 Tomcat启动黑框隐藏

进入到 tomcat/bin 目录下,找到此文件 setclasspath.bat ,右键文本打开 找到此属性 : set _RUNJAVA"%JRE_HOME%\bin\java.exe"修改成以下属性,保存文件,重启启动tomcat会发现黑框不默认弹出了: …

@德人合科技 | 数据透明加密防泄密系统\文件文档加密\设计图纸加密|源代码加密防泄密软件系统,——防止内部办公终端核心文件数据/资料外泄!

一款专业的数据防泄密管理系统,它采用了多种加密模式,包括透明加密、半透明加密和落地加密等,可以有效地保护企业的核心数据安全。 PC端访问地址: https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee …

C++设计模式——Adapter(适配器)模式

一、Adapter模式是个啥? 适配器模式在软件开发的江湖里,可以说用途是非常广的。下面几个经典的场景来说明适配器模式的使用。 场景一 场景二 假如你正在开发一款股票市场监测程序, 它会从不同来源下载 XML 格式的股票数据, 然后…

[香橙派]orange pi zero 3 烧录Ubuntu系统镜像——无需HDMI数据线安装

一、前言 本文我们将介绍如何使用orange pi zero 3 安装Ubuntu系统,本文相关步骤均参考自开发手册。 二、实施准备 根据开发手册中所提到的,我们应该拥有如下配件: 1.orange pi zero 3 开发板 2.TF 卡——最小 8GB 容量的 class10 级或以上的高速闪迪卡。…

uniApp项目的创建,运行到小程序

一、项目创建 1. 打开 HBuilder X 2. 右击侧边栏点击新建,选择项目 3. 填写项目名,点击创建即可 注:uniapp中如果使用生命周期钩子函数,建议使用哪种 ?(建议使用Vue的) 二、运行 1. 运行前先登录 2. 登录后点击 manifest.js…

【数据结构 — 排序 — 选择排序】

数据结构 — 排序 — 选择排序 一.选择排序1.基本思想2.直接选择排序2.1算法讲解2.2.代码实现2.2.1.函数定义2.2.2.算法接口实现2.2.3.测试代码实现2.2.4.测试展示 3.堆排序3.1.算法讲解3.2.代码实现3.2.1.函数定义3.2.2.算法接口实现3.2.3.测试代码实现3.2.4.测试展示 一.选择…

笔记69:Conv1d 和 Conv2d 之间的区别

笔记地址:D:\work_file\(4)DeepLearning_Learning\03_个人笔记\4. Transformer 网络变体 a a a a a a a a a a a

二百一十、Hive——Flume采集的JSON数据文件写入Hive的ODS层表后字段的数据残缺

一、目的 在用Flume把Kafka的数据采集写入Hive的ODS层表的HDFS文件路径后,发现HDFS文件中没问题,但是ODS层表中字段的数据却有问题,字段中的JSON数据不全 二、Hive处理JSON数据方式 (一)将Flume采集Kafka的JSON数据…

Java IO流(五)(字符集基础知识简介)

字符集 计算机的存储规则(英文字符) 常见字符集介绍 a.GB2312字符集:1980年发布,1981年5月1日实施的简体中文汉字编码国家标准。收录7445个图形字符,其中包括6763个简体汉字 b.BIG5字符集:台湾地区繁体中…

小黑子——springBoot基础

springBoot简单学习 一、SpringBoot简介1.1 springBoot快速入门1.1.1 开发步骤1.1.2 对比1.1.3 官网构建工程1.1.3 SpringBoot工程快速启动 1.2 springBoot概述1.2.1 起步依赖I. 探索父工程II. 探索依赖III. 小结 1.2.2 程序启动1.2.3 切换web服务器-jetty 二、配置文件2.1 配置…

(2022|ICLR,kNN检索,扩散,仅图像训练)KNN-Diffusion:通过大规模检索生成图像

KNN-Diffusion: Image Generation via Large-Scale Retrieval 公众号:EDPJ(添加 VX:CV_EDPJ 或直接进 Q 交流群:922230617 获取资料) 目录 0. 摘要 1. 简介 2. 相关工作 3. 方法 3.1 仅文本图像处理 4. 实验 …