☰
油猴脚本入门指南:2023年精选实用脚本与安全使用技巧
2026/10/1 23:45:05 网站建设 项目流程

油猴(Tampermonkey)这个东西,我前前后后用了快十年。第一次知道它,是因为有个同事说靠着几个脚本能让浏览器变得“不像浏览器”,当时我还不信,直到自己装了几个之后才发现,同一个网页,别人看到的是满屏广告和锁死的复制按钮,我这边清爽干净,点几下就能把需要的内容抓下来。很多朋友一听“油猴脚本”就以为是程序员才会玩的东西,其实真不是。你只要能装浏览器插件、会点一下安装按钮,就能用脚本解决大量日常浏览问题。这篇文章我不打算做成那种堆网址的清单,而是把我2023年实际在用的、测试过稳定好用的脚本整理出来,同时把安装、判断、防坑的整套逻辑讲清楚。适合三类人:被网页广告和复制限制烦到不行的小白、想提升日常信息获取效率的职场人、以及想把浏览器调教得更顺手的开发者。

1. 油猴脚本到底是怎么工作的,为什么别人的脚本你敢用

1.1 一个用户脚本的本质

很多人第一次接触油猴脚本时,会下意识觉得这是个高深的东西。其实用户脚本(userscript)本质就是一段 JavaScript 代码,由 Tampermonkey 这个浏览器扩展负责注入到网页里执行。你可以把它理解成给网页“打补丁”——不修改网站服务器上的任何东西,只是在浏览器本地把页面加载完后,再把脚本加进去跑一遍,该删的元素删掉、该加的按钮加上、该改的样式改掉。

这里面有几个关键概念值得搞清楚。首先是匹配规则,脚本头部有一段@match或@include,规定了这个脚本只在哪些网址生效。其次是注入时机,Tampermonkey 提供了document-start、document-end、document-idle三种时机,很多脚本失效其实就挂在时机选择上。最后是 GM 系列 API,比如GM_setValue(本地存储数据)、GM_xmlhttpRequest(跨域请求)、GM_addStyle(注入样式),这些是浏览器原生 JavaScript 没有的能力,也是 Tampermonkey 价值最大的地方。

需要明确的是,Tampermonkey 只是管理脚本的“容器”,它本身不生产脚本。脚本来源是 GreasyFork 这类用户脚本社区,全球开发者把自己写的脚本传上去,所有人都能安装。整个链路就是:浏览器 → Tampermonkey 扩展 → 用户脚本 → 网页页面。

1.2 安装 Tampermonkey 的前置条件

安装扩展本身没什么难度,但有几个细节值得说一下。Chrome 用户可以直接去 Chrome 网上应用店搜索 Tampermonkey,点击安装就可以。Edge 用户去 Microsoft Edge 加载项商店搜索也行。Firefox 用户则去 Firefox Add-ons 官方站点。这里有一个非常容易被忽略的点:很多浏览器在市场里能搜到一堆名字差不多的扩展,比如 “Tampermonkey Beta”“Tampermonkey Stable”,甚至还有冒充的 “Tampermonkey Pro”。官方版本就是 Tampermonkey,黑色图标带个数字角标的是 Beta 版,稳定版图标是黑色带个 TM 字样。我建议普通用户只安装稳定版,Beta 版适合喜欢尝鲜的。

如果你所在的网络环境访问不了扩展商店,也可以去 Tampermonkey 官网下载 crx 文件离线安装。Chrome 在地址栏输入chrome://extensions,打开开发者模式,把下载好的 crx 文件直接拖进去就能装。不过新版 Chrome 对非商店扩展限制变严了,有可能提示“无法从该网站添加应用”,这时候可以先把 crx 后缀改成 zip,解压后通过“加载已解压的扩展程序”安装,启动时浏览器会提示一下,手动允许就行。

还有一个非常实用但很多人不知道的点:一个浏览器只建议装一个脚本管理器。同时装 Tampermonkey 和 Violentmonkey(暴力猴)不是不行,但容易造成脚本重复执行、误判变量冲突。我试过两个管理器同时开着,某些页面会明显卡顿,排查起来特别头疼。选一个用得顺手的就好,我个人是 Tampermonkey 主力、Violentmonkey 备用。

1.3 脚本来源:GreasyFork 到底怎么用

脚本社区里最主流的是 GreasyFork,打开后就是个脚本搜索引擎。首页会展示热门脚本,右上角可以搜索关键词。这里有几个筛选技巧:一是看安装量,低于一万的脚本要谨慎,不是说低安装量就不好,而是说明用的人少,出问题没人反馈;二是看最近更新日期,2023 年还在活跃维护的脚本优先,如果最后更新是两年前,大概率已经失效;三是看反馈区和评论区,装之前先扫一眼别人反馈的问题,能帮你提前避开一堆雷。

在 GreasyFork 上安装脚本很简单,点绿色“安装此脚本”按钮,Tampermonkey 会弹出安装确认页,能看到脚本的作者、权限、源码,点“安装”按钮就完事了。脚本更新时 Tampermonkey 会通过@updateURL和@downloadURL检测新版本,默认自动下载,但安装前它会再弹一次确认,这种防呆设计我觉得非常好。

2. 2023 年我实际在用的油猴脚本清单(按场景分类)

2.1 视频与下载场景:最值得装的一组

视频类脚本是很多人接触油猴的第一个理由,我也是一样。先说 Bilibili Evolved,这个脚本在 B 站用户群里几乎是“标配”,功能集中在净化页面、自定义界面、视频下载、倍速控制、截图等十几个模块。2023 年我实测下来,最常用的功能是去广告和下载视频。去广告不是指绕过付费内容,而是干掉首页信息流里穿插的推广卡片、播放页侧栏的推广模块,视觉上清爽非常多。下载视频的功能走的是“解析画质链接”的路线,装完之后播放器下方会多一个下载按钮,可以自己选择清晰度,个人学习留存完全够用。注意它需要配合额外的解析服务或者浏览器内置 fetch 能力,如果下载失败,先去看一下设置面板里的“下载”模块有没有启用。

再说网盘直链下载助手。2023 年这款脚本经历了好几次改版,目前主要功能是把网盘文件的下载链接提取出来,配合 IDM、NDM 等下载工具使用。说实话,网盘下载限制这件事本身就有点无奈,但这个脚本在免客户端下载、大批量文件转存这些场景下确实很实用。有一点必须提醒:脚本会请求登录后的 Cookie 信息来模拟真实请求,所以一定只从 GreasyFork 官方页面安装,不要从第三方网站下载“绿色版”“破解版”,免得不小心把账号信息交给不明来源的脚本。

视频解析下载类还有一个叫硕鼠的脚本,最早是做联合解析的,后来因为各家视频站改版频繁,维护进度跟不上,2023 年实际效果已经打了不少折扣。如果你的目标网站不在 Bilibili Evolved 的列表里,可以试试 m3u8 下载工具类脚本,比如 “m3u8 downloader” 相关的脚本,原理是抓取页面里的视频流地址,再通过本地播放器或工具合并。这类脚本对普通用户来说稍有一点门槛,但胜在兼容性强。

2.2 购物比价与生活效率:小脚本解决大问题

购物场景的油猴脚本,核心是“比价”和“价格监控”。购物党比价是我用了三年的脚本,装完之后,在京东、淘宝、苏宁等商品页面会自动显示历史价格曲线,还会在标题下方给出全网比价结果。2023 年我亲测下来,它的价格采集依然稳定,尤其是家电类大件的优惠跨度,一眼就能看出“双十一前先涨价再降价”的把戏。

价格监控类脚本我推荐京价保。它的逻辑是监控你已购商品的价格变动,一旦发现降价就自动申请价格保护。这对经常在电商平台买东西的人来说特别实用。设置时需要注意,京价保需要你登录购物网站并授权订单数据,装完不要乱点“授权第三方”之类的选项,直接使用默认的本地监控模式就行。我遇到过几次误报,后来发现是脚本把“领券后价格”也算进去了,这个在设置里关掉“券后价”选项就能解决。

生活效率类里有一个小脚本我很推荐:自动展开全文。很多网站和社区正文会被折叠,需要点击“展开阅读全文”才能看完整内容,这个脚本的原理就是检测到折叠按钮后自动模拟点击,那些被隐藏的段落直接铺开。2023 年它应对大多数网站的“登录可见全文”和“展开阅读全文”还是够用的,不过部分强验证码保护的网站需要手动过一下验证,这也是没办法的事。

2.3 打破网页限制与信息获取:复制的痛它懂

“网页不让复制”是我收到的求助里出现频率最高的问题。网上很多资料站、问答平台、文库都会把复制功能锁掉,右键菜单被禁用,鼠标选中文本还弹个提示。针对这个事,我一直在用的是“网页限制解除”这个脚本,原理很朴素:重写页面的oncontextmenu、oncopy、onselectstart事件,把这些限制标记删掉,再从样式层面强制允许文本选中。2023 年绝大多数新闻站、博客站都能正常解除,文库类网站部分失效,原因是它们不是简单的禁右键,而是用 canvas 绘制文字,这种情况脚本就没辙了。

在线文档和文库里的内容想直接复制出来,另一个常用思路是“转 Markdown 提取”。有一款叫 “markdown here” 风格的脚本能把网页正文一键转换成 Markdown 格式并复制到剪贴板,对经常写文档的人来说效率翻倍。我用它的场景主要是把大佬博客里的代码块、表格完整搬到自己的笔记里,不会丢格式。

信息获取类还有一个必装脚本:AC-baidu。2023 年它改名成了“AC-baidu:重定向优化”,主要功能是去除百度搜索结果里的重定向链接、广告推广位,以及把百度系页面里的“百度推荐”广告块去掉。搜索结果点开之后不再是经过跳转的链接,而是直达目标网站,省掉中间等待时间。类似的去重定向脚本还有 “跳过网站等待” 这类,核心都一样:识别跳转中间页并自动跳过。

2.4 论坛与日常工具:把“脏东西”过滤掉

如果你经常逛贴吧、知乎、豆瓣,会发现信息流里混着不少推广内容、直播卡片和话题营销。贴吧这边的“贴吧净化”脚本属于用了就回不去的类型,2023 年测试下来,它能屏蔽帖子列表里的直播推广、商业引流帖、下载 App 的引导卡片,还能把楼中楼广告折叠掉。功能开关都放在设置面板里,可以自己选“全屏蔽”还是“部分折叠”。

知乎那边我用的是一款叫 “知乎去广告” 的脚本,作用是屏蔽知乎首页信息流里的课程推广、盐选会员弹窗、关注推荐卡片。知乎改版比较频繁,这类脚本时不时会失效,通常等作者更新就能恢复。我的建议是不用装太多个不同作者的同类脚本,因为知乎页面上脚本如果同时操作同一个 DOM 节点,会产生冲突,反而导致页面渲染出问题。

日常工具类里,网页暗黑模式脚本也是比较受欢迎的,尤其晚上加班查资料时非常友好。原生方案是给所有页面套一层反转滤镜,副作用是图片颜色也会反转,看着很别扭。好一点的 CSS 脚本会针对常见网站写规则,只改背景和文字颜色不动图片。我用的是一个叫 “Dark Reader for every website” 风格的油猴版,实测对技术博客、文档站的支持很好,对普通商业网站偶尔会有乱样式的风险,调整配置里的“亮度”“对比度”可以缓解。

还有一个细节小工具叫 “自动刷新页面”,适合需要抢预约、看库存变化的场景。它支持定时刷新和异常检测刷新,可以设置“页面关键词出现后停止刷新”。这个功能很实用,比如你盯着一个商品补货页面,设置好关键词之后,页面一旦出现“立即购买”字样就自动停止刷新,避免手忙脚乱。

2.5 开发者与专业人群:办公效率提升

程序员和数据分析师群体里,油猴脚本同样能提升日常效率。我给团队推荐过 “GitHub 增强” 类脚本,功能包括仓库文件快速下载、代码阅读模式、仓库大小显示、README 渲染优化。2023 年这类脚本功能比较稳定,对于经常看开源项目的人来说,省掉了反复点击文件和切换分支的时间。

JSON 格式化查看器也是一类高频脚本。开发环境下接口返回的数据经常是一长串压缩过的 JSON,肉眼很难读。装了格式化脚本之后,浏览器里直接展示成可折叠的树状结构,支持复制路径、搜索关键词、查看数据类型。我调试接口时的习惯是直接开一个空白标签页访问接口地址,脚本会自动格式化,比复制到在线工具再粘回去快得多。

代码相关的脚本还有很多,比如代码高亮增强、代码块复制按钮、CSDN 页面净化(把复制代码需登录、弹窗广告去除)。这里要提醒一句:开发者用的脚本最好还是自己看一下源码,毕竟大家天天登着各种后台系统,脚本如果窃取 Cookie,后果比普通用户严重得多。

3. 脚本装多了会出事吗——质量判断与安全红线

3.1 权利越大责任越大:GM 系列 API 能干的事

油猴脚本的能力边界比你想象的大。它不仅能改页面样式、加按钮,还能读取页面里的输入框内容、拦截网络请求、向任意域名发送请求(GM_xmlhttpRequest)、读取和写入本地存储(GM_setValue/GM_getValue),甚至能读取你在页面上填写的账号密码、Cookie。形象一点说:把页面交给油猴脚本运行,就像把家门钥匙交给一个钟点工,正常脚本只打扫你指定的房间,恶意脚本能把你家翻个底朝天。

所以不要因为“装个脚本而已”就掉以轻心。2023 年用户脚本社区出现过个别脚本被下架的情况,多是因为作者在脚本里夹带了收集用户访问记录的代码。幸好 GreasyFork 有公开的源码审查机制,脚本安装前默认就会展示源码页面,哪怕看不懂全部代码,至少可以看一下它申请了哪些权限。如果一个改页面样式的脚本,居然申请了GM_xmlhttpRequest并往陌生域名发请求,那就要高度警惕。

3.2 我判断一个脚本能不能用的五条标准

这几年我形成了一个固定习惯:装任何脚本之前,先做一轮“体检”,不需要太多专业知识,按下面几条过一遍就行。

一是看安装量和热度。一个脚本如果只有几百的安装量,不见得有问题,但你要花更多时间去确认它的可靠性;如果是十几万甚至百万级安装量的脚本,至少说明它被大量用户验证过。

二是看更新频率。2023 年还在更新、近期有提交记录的脚本,说明作者还在维护;如果停更超过一年,大概率已经不适配新版浏览器或网站改版。

三是看权限请求范围。装脚本时 Tampermonkey 会列出脚本需要的权限,比如读取页面内容、跨域请求、访问剪贴板。如果功能简单却权限多多,就要打个问号。

四是看源码是否公开可读。GreasyFork 上每个脚本都有源码链接,点进去扫一眼。看不懂没关系,重点看有没有压缩成一整行的混淆代码——正规脚本基本都保持可读格式。

五是看评论区。评论区是最好的反馈渠道,失效、报错、广告注入这些问题,用过的用户都会留言。

3.3 容易踩的几类坑

第一类坑是第三方下载站的“整合包”。有些人为了省事,去下载“XX个精编油猴脚本合集包”,这类包里经常混着已经停止维护的老脚本,夹带私货的概率也高。第二类坑是伪装官方弹出的更新提示。正常油猴脚本更新会在 Tampermonkey 的角标上提示,如果网页上主动弹一个“您的脚本需要更新”并让你下载文件,果断关掉,那基本是钓鱼。第三类坑是“全功能增强版”脚本。有的脚本号称一个全站通用,覆盖所有网站,这类脚本要么体积巨大导致卡顿,要么在悄悄采集你的浏览记录。我的建议是:一个脚本专注做一个功能,覆盖的网站不要太宽。

如果不小心中了招,处理方法也不复杂。先去 Tampermonkey 面板把可疑脚本停用,再点击“编辑”按钮查看源码,如果发现有发送数据到第三方域名的代码,直接把脚本删掉。然后清一下浏览器缓存和 Cookie,最后改一下重要网站的登录密码。绝大多数恶意脚本没有系统级权限,清除后不会对电脑造成进一步影响。

4. 常见问题与排查技巧实录

4.1 脚本装了没反应、时灵时不灵

这个问题大概是每年私信里最多的。第一反映先看开关状态:点开 Tampermonkey 图标,看这个脚本是不是灰的,有时候装完默认没启用。第二看匹配规则:脚本的@match如果只匹配http://example.com/*,你用https://www.example.com/访问自然不生效。第三看页面有没有被浏览器原生功能拦截,比如某些浏览器会自动阻止注入式扩展运行,需要到扩展设置里允许“在无痕模式/网页中运行”。第四看是不是缓存问题,强制刷新一下页面,很多时候是旧脚本缓存卡住了。

排除这些基本问题后,如果脚本还是不工作,大概率是网站改版了。2023 年很多知名网站频繁调整 DOM 结构,脚本选择器匹配不到旧节点,就会失效。这种时候解决方案只有一个:去脚本源码页面看有没有人反馈同样的问题,等作者更新,或者去 GreasyFork 搜一下有没有替代脚本。

4.2 脚本之间互相打架怎么办

脚本冲突在装了五六个以上脚本后会逐渐出现。典型表现是:页面元素重复、按钮点击没反应、控制台报“Cannot read properties of null”一类错误。原因通常是多个脚本同时监听同一个事件,或者同时操作同一个 DOM 节点,后执行的脚本覆盖了先执行的效果。

解决思路是先确认冲突范围。打开浏览器的“扩展管理”,把 Tampermonkey 停用,然后逐一启用脚本,每启用一个就去目标页面刷新一次,看问题什么时候出现。定位到冲突脚本之后,优先考虑二选一,或者去两个脚本各自的高级设置里调整执行顺序。Tampermonkey 里每个脚本都可以在设置页里修改“执行位置”和“排除页面”,把不同脚本的执行顺序错开,能解决大部分冲突。实在不行,就需要会一点代码基础,在脚本源码里将执行时机整体后移一个周期,比如从document-end改成document-idle后加一个 setTimeout。

4.3 网页卡顿、内存占用飙升

2023 年常用的浏览器开几十个标签页本来就吃内存,再叠加一堆油猴脚本,卡顿就很常见了。脚本造成卡顿的原因有两种:一种是脚本数量太多,每个脚本都要跑一遍自己的初始化流程,即使没匹配到目标页面也会空转;另一种是部分脚本用了轮询机制,定时去监听 DOM 变化,页面一有风吹草动就要重新执行一遍逻辑。

排查方法很简单,用“二分法”。先把所有脚本关闭,确认页面流畅度恢复正常,然后依次启用一半脚本,刷新页面测试,卡顿出现了就在这一半里继续二分,通常两三轮就能定位到罪魁祸首。找到之后有几种选择:如果脚本提供“懒执行”或“仅在特定域名下运行”的选项,就把它的匹配范围缩小;如果脚本质量本身不高,果断换个更轻量的替代品。我个人的习惯是长期不用的脚本直接删除,而不是禁用——禁用的脚本虽然不执行,但 Tampermonkey 的面板还是要加载它的元数据,积少成多也会影响启动速度。

4.4 脚本更新了反而坏了怎么办

有些时候不是你主动更新,是 Tampermonkey 检测到脚本有新版就自动下载,结果新版功能没提升反而出了 bug,或者新版加了你不想要的行为。这种情况在脚本圈子里叫“版本回退”。

回退的方法不复杂。打开 Tampermonkey 管理面板,进入对应脚本的“编辑”页面,把@version改成旧版本号,再去 GreasyFork 脚本页面的文件历史里找到旧版本源码,粘贴回去保存。注意 Tampermonkey 会自动检测更新,如果你不希望它再次覆盖,可以在脚本设置的“更新”栏目里,把“更新行为”改成“手动检查”,甚至直接关闭“检查更新”。如果你对现有脚本做过自定义修改,就建议手动管理更新,否则新版本一覆盖,你的改动全部白做。

4.5 关于“检测到脚本/异常行为”的提示

部分网站会探测“浏览器异常行为”,比如疯狂刷新页面、自动领券、自动提交订单这类操作。2023 年我见过不少购物网站、预约平台的账号因为使用自动化脚本被临时限制登录,严重的甚至被要求修改密码。油猴脚本在本地运行,但它在页面上的操作痕迹是可以被网站前端行为分析识别出来的,尤其是那种高频并发请求、瞬间点击多个按钮的操作。

我的建议很直接:涉及账号安全和金钱交易的网站(网上银行、电商主账号、企业后台),尽量不要装自动抢购、自动领券、自动注册类脚本。轻则功能失效,重则账号受到限制,得不偿失。如果只是看看价格、比比价、去个广告,这类只读型脚本相对稳妥,但也要记住“脚本给你的便利,不等于平台方认可这种行为”,油猴脚本目前处于灰色地带,尽量用在自己主导的、不干扰平台正常秩序的场合。

5. 从用脚本到写脚本的进阶路径

5.1 先是拆,再是写

很多人用了一段时间油猴脚本之后,会忍不住想看“这脚本到底怎么写的”。这是个很好的起点。Tampermonkey 面板的“编辑”按钮可以直接打开脚本源码,先从一个简单的脚本看起,比如前面提到的“网页限制解除”,去掉空行和注释,核心代码其实只有几十行。看懂它怎么绑定事件、怎么修改样式,基本就掌握了用户脚本的骨架。千万不要一上来就去看几千行的大型脚本,会直接劝退。

5.2 最小可运行的油猴脚本长什么样

写一个油猴脚本,文件头部必须有一段元数据注释,Tampermonkey 靠它识别脚本名称、匹配页面、申请权限。下面这个例子是去除某个页面广告模块的最小脚本:

// ==UserScript== // @name 去掉示例广告 // @namespace example.com // @version 1.0 // @description 移除此页面中的广告横幅 // @match https://example.com/* // @run-at document-end // @grant none // ==/UserScript== (function () { 'use strict'; function removeAd() { const ad = document.querySelector('.ad-banner'); if (ad) { ad.remove(); return true; } return false; } if (!removeAd()) { const observer = new MutationObserver(() => removeAd()); observer.observe(document.body, { childList: true, subtree: true }); } })();

这个脚本的核心技巧在最后一段:如果页面加载完没有找到广告节点,就启动一个 MutationObserver 监听 DOM 变化,等广告节点被动态插入时再删除。视频站、资讯站的广告经常是异步加载的,只用一次性的查询经常会失败。这段代码是我 2023 年写脚本时最常用的骨架,做信息流净化、弹窗移除都够用。

5.3 本地调试与发布

调试油猴脚本不需要额外 IDE,浏览器控制台就是最好的工具。脚本里可以用console.log输出调试信息,Tampermonkey 的“浏览器控制台”会显示脚本的报错和执行日志。如果脚本里用了GM_xmlhttpRequest,可以在 Tampermonkey 的面板里查看跨域请求的日志,方便确认请求是否发出去、返回了什么。

写完之后,可以发布到 GreasyFork 上供别人使用。发布前注意几个细节:@name要起一个容易搜到的名字,@description要简洁说明功能,@match要精确匹配目标网站,不要写*://*/*这种通配所有网站的匹配规则——个人脚本覆盖全站既不安全也会引起性能问题。发布后记得及时回复评论区的问题,一个活跃维护的脚本,才能累积出信任度。

写在最后:我的脚本维护习惯

前前后后用过上百个油猴脚本,2023 年最终留在浏览器里的,其实只有十几个。我的习惯是:每个季度专门抽十分钟,打开 Tampermonkey 管理面板,把所有脚本按“最近使用时间”排一下序,超过两个月没点亮的脚本直接删除。脚本装得再多,不如装得精。还有一个我踩过几次坑之后养成的习惯:凡是涉及登录态、Cookie、跨域请求的脚本,安装前必须去 GreasyFork 页面看一眼源码,哪怕只是扫一眼有没有XMLHttpRequest调用,心里也有个数。油猴脚本这个东西,用好了它是浏览器的“外挂”,用不好就是给自己埋雷。希望上面这些经验,能帮你装得放心、用得顺手。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询