Return YouTube Dislike 项目解析Dislike 统计恢复原理与开放 API 调用指南【免费下载链接】return-youtube-dislikeChrome extension to return youtube dislikes项目地址: https://gitcode.com/gh_mirrors/re/return-youtube-dislike本篇技术指南以仓库瑞典语文档 READMEsv.md 为核心骨架系统梳理 Return YouTube DislikeRYD开源扩展的诞生背景、数据统计恢复原理以及面向第三方开发者的开放 API 使用规范——包括速率限制、/votes端点请求方式、JSON 响应字段与错误码语义。读完本文你将理解该扩展在 YouTube 移除公开 dislike 计数后的替代数据方案并能直接基于https://returnyoutubedislikeapi.com编写自己的投票数据获取程序。项目定位一个开源 Dislike 计数恢复扩展Return YouTube Dislike瑞典语Återinför YouTube Dislikes是一个开源浏览器扩展用于在 YouTube 界面上恢复视频的 dislike点踩数量显示。它同时提供两种形态Web 扩展面向 Chromium 系浏览器与 FirefoxJS Userscript面向其他支持用户脚本的浏览器。对应仓库中的实现位于 Extensions/combined扩展源码与 Extensions/UserScript/Return Youtube Dislike.user.js用户脚本。项目仓库以 GPLv3 协议开源根目录 LICENSE 可查看完整协议文本。背景故事YouTube 为何移除 dislikeRYD 如何应对2021 年 11 月 10 日Google 宣布将从 YouTube 平台移除 dislike 计数随后在 2021 年 12 月 13 日YouTube API 中的dislike字段也被正式移除。这带来一个直接后果观众在观看视频之前失去了通过公开数据评估内容质量的依据。RYD 的应对思路见 READMEsv.md 的 Vad det gör 小节是放弃依赖 YouTube API 的 dislike 字段改用爬取的 dislike 历史统计 基于扩展用户投票数据的推算组合方案。这一机制的具体细节在 Docs/FAQ.md 中有更完整的展开数据来源Google API 数据与爬取数据的组合所有可用数据会存档到项目数据库即使日后 Google 彻底关闭 dislike 计数历史数据仍可查询。缓存机制视频 dislike 数据带有缓存更新频率大约为每 23 天一次并非实时刷新。推算公式针对 API 关闭后上传的视频$$ \textup{RYD Dislike Count} \left( \frac{\textup{RYD Users Dislike Count}}{\textup{RYD Users Like Count}} \right) \times \textup{Public Like Count} $$即用 RYD 用户群体的踩/赞比值去放大推算公开点赞数对应的完整点踩数。若数据库中存有上传者提供或历史存档的真实点赞/点踩数则结合用户投票与存档值共同计算且存档值会随其年龄增长而降低影响权重。扩展端如何消费 API源码级调用链文档描述的 API 并非空中楼阁扩展本身就在实时使用它。追踪源码可以还原完整的调用链API 地址定义在 Extensions/combined/src/config.js 中生产环境 API 地址被定义为PROD_API_URL https://returnyoutubedislikeapi.com并通过getApiEndpoint()拼接具体端点路径。获取投票数据内容脚本在 Extensions/combined/src/state.js 的setState()中发起请求let response await fetch(getApiEndpoint(/votes?videoId${videoId}likeCount${likeCount || }), { method: GET, headers: { Accept: application/json }, }) .then((response) { if (!response.ok) displayError(response.error); return response; }) .then((response) response.json()) .catch(displayError);请求成功且响应中不含traceId错误追踪字段时结果会被送入processResponse()最终把 dislike 数字渲染到 YouTube 按钮区域。后台脚本转发后台服务 Extensions/combined/ryd.background.js 也承担 API 交互——收到内容脚本的set_state消息时转发/votesGET 请求当待上报的视频 ID 累积到 20 个时通过send_links消息以POST /votes批量提交观看记录用于改进统计推算。用户脚本实现无扩展框架的浏览器则直接由 Return Youtube Dislike.user.js 以原生fetch调用同一端点。网络权限三个浏览器 manifest 均声明了对该 API 域名的访问权限例如 manifest-chrome.json 中的*://returnyoutubedislikeapi.com/*Firefox 与 Safari 版本manifest-firefox.json、manifest-safari.json保持一致。开放 API 使用规范READMEsv.md 明确说明该开放 API 允许第三方使用但必须遵守以下两条限制归属要求Attribution使用方必须清晰标注本项目并提供指向 returnyoutubedislike.com 的链接。频率限制Rate Limiting每个客户端限额为每分钟 100 次、每天 10,000 次。超限时 API 会返回429状态码提示你的应用应当降低请求频率back off。API 基础地址为https://returnyoutubedislikeapi.com可用端点清单可通过以下地址查看Swagger 文档https://returnyoutubedislikeapi.com/swagger/index.html网站源码中对应页面的实现位于 Website/pages/docs/endpoints.vue它通过process.env.apiUrl在 Website/nuxt.config.js 中配置拼接出 Swagger 地址供在线查阅全部端点。获取投票数据GET /votes查询某个 YouTube 视频 ID 的投票数据请求格式如下/votes?videoIdkxOuG8jMIgI完整的 HTTP 请求示例Website/pages/docs/fetching.vue 中给出的参考请求头GET https://returnyoutubedislikeapi.com/votes?videoIdkxOuG8jMIgI Accept: text/html,application/xhtmlxml,application/xml;q0.9 Pragma: no-cache Cache-Control: no-cache Connection: keep-alive也可以直接用curl快速验证curl https://returnyoutubedislikeapi.com/votes?videoIdkxOuG8jMIgI响应字段说明以下为文档给出的真实示例响应{ id: kxOuG8jMIgI, dateCreated: 2021-12-20T12:25:54.418014Z, likes: 27326, dislikes: 498153, rating: 1.212014408444885, viewCount: 3149885, deleted: false }各字段含义如下字段类型说明idstring视频 ID与请求参数一致dateCreatedstring (ISO 8601)该记录在 RYD 数据库中创建的时间戳likesnumber公开的点赞数dislikesnumberRYD 推算/存档得到的点踩数核心返回值ratingnumber基于投票数据计算的评分值约为浮点数比率viewCountnumber视频观看次数deletedboolean记录是否已被标记删除补充说明较新版本的接口响应中可能额外包含rawDislikes、rawLikes等字段见 README.md 中的响应示例分别表示爬取到的原始点踩数与点赞数可用于与推算值对照。以服务端实际返回为准。错误码语义400 Bad Request请求中的 YouTube ID 格式不正确404 Not Found该 YouTube ID 在数据库中不存在即 API 尚未收录此视频的数据。超限场景则返回429对应前述频率限制条款。参与贡献与项目支持仓库欢迎社区参与READMEsv.md 指向了 贡献指南仓库根目录另有 CONTRIBUTINGcn.md 等中文等多语言版本包含代码规范、提交流程等要求。项目同时提供捐赠页面与 Patreon 赞助渠道详见 READMEsv.md 尾部用于支撑服务器与 API 的持续运营。延伸阅读Docs/FAQ.md数据来源、缓存周期、dislike 推算公式的权威说明Docs/SECURITY-FAQ.md隐私与安全相关问答另有 Docs/SECURITY-FAQcn.md 中文版Website/pages/docs/fetching.vue 与 Website/pages/docs/endpoints.vue网站版 API 文档页面源码Extensions/combined/src/state.js 与 Extensions/combined/ryd.background.js扩展端 API 调用的完整实现。【免费下载链接】return-youtube-dislikeChrome extension to return youtube dislikes项目地址: https://gitcode.com/gh_mirrors/re/return-youtube-dislike创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
open-code-review:开源代码审查方法论与落地实践 “这个PR我大概看了一下,逻辑上好像有点问题,但当时没细想,就先合并了。”这种话我在带团队的时候听过太多次了。代码审查(Code Review)这件事,理论上谁都承认它重要,实际做起来却往往是形式主义… · 2026/9/23 7:07:53
Vue3+OpenLayers实战:封装支持GeoJSON的地图绘制组件 如果你在GIS相关项目里待过,大概率遇到过这种需求:页面上放一张地图,让用户自己画点、画线、画面,然后把画出来的东西提交给后端。这个场景在智慧城市、园区管理、选址分析、可视化大屏里特别常见。以往的做法是直接甩一个<ifr… · 2026/9/23 7:07:53
使用 Mason 的 cubit Brick 快速生成 Cubit:配置变量、三种风格与代码模板深度解析 使用 Mason 的 cubit Brick 快速生成 Cubit:配置变量、三种风格与代码模板深度解析 【免费下载链接】bloc A predictable state management library that helps implement the BLoC design pattern 项目地址: https://gitcode.com/gh_mirrors/bl/bloc
本指南… · 2026/9/23 7:07:53
共享单车预测与调度实战:LSTM模型构建与OD特征工程全解析 简介:基于深度学习的共享单车预测与调度毕业设计解决方案,面向计算机、人工智能相关专业学生,可用于城市交通场景下的需求量预测与车辆调度课题。方案以神经网络建模单车需求与时段、地理画像的关系,预测不同区域需求,… · 2026/9/23 7:52:33
石磊考研避坑指南:3个完整示例助你理清职业路径 石磊考研避坑指南:3个完整示例助你理清职业路径 别再被那些动辄几十页的官方招生简章绕晕了。对于咱们搞技术的兄弟来说,时间就是金钱,官方文档太长抓不住重点,真正需要的其实是一份能直接落地的行动清单。 今天这篇文,我不整虚的,直接给你拆解… · 2026/9/23 7:52:33
AI产品经理agent实战:从引流目标到PRD初稿的自动化产线 1. 为什么我用AI产品经理agent写引流PRD先说结论:我没打算让AI替我做所有决策,但我想验证一件事——让一个产品经理agent独立完成从“引流目标”到“PRD初稿”的整个推演过程,到底能把我的重复劳动压缩到什么程度。这个项目标题叫“利用AI产品… · 2026/9/23 7:52:33
跨境电商AI商拍实战:多国肤色场景图生成方案与成本优化 1. 跨境电商商拍的真实困境与AI切入逻辑做跨境电商的朋友大概率都经历过这样的场景:一款新品上架,光是主图和场景图就要折腾一两周。找模特、约摄影棚、等排期、后期修图,一圈下来少说几千块,多则上万,而且出来的图还不… · 2026/9/23 7:52:27
AI音视频实时交互系统核心技术解析 1. 项目概述:AI音视频通话中的实时智能交互这个项目本质上是在解决传统音视频通话中"单向输出"的痛点。想象一下,当你和客服视频通话时,对面是个能真正理解你每句话、每个表情的AI助手——它不仅能实时回应,还会根据对话… · 2026/9/23 7:52:27
CNN人脸识别考勤系统:PyQt5+OpenCV+Caffe源码部署与避坑指南 简介:本资源是一套基于CNN神经网络的人脸识别考勤系统完整项目,采用PyQt5构建图形界面,面向计算机相关专业的毕业设计、期末大作业与课程设计需求者,也适合希望入门深度学习与桌面应用开发的初学者。项目包含可运行源码与配套文档… · 2026/9/23 7:52:27
3招搞定手机怎么下载微信面试难题实战项目解析 3招搞定手机怎么下载微信面试难题实战项目解析 面试被问“手机怎么下载微信”背后的原理,90%的人答不上来。别笑,这看似弱智的问题,实则是考察你对移动应用分发机制、安全校验及网络协议理解的试金石。我带过不少校招新人,他们背了八股文,却连一个A… · 2026/9/23 0:00:03
你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 你有新短消息请注意查收:3个新手避坑指南搞定消息系统选型 面试被问“高并发下如何保证消息不丢失”,你张口就是“用Redis”,结果面试官追问“如果Redis宕机了怎么办”,你瞬间卡壳。这种场景太常见了,很多新手在背八股文时,只记住了技术名词… · 2026/9/23 0:00:29