资讯动态

Return YouTube Dislike 常见问题全解析:数据来源、工作流程与 dislike 估算算法

发布时间:2026/9/23 4:37:32 来源:尧图企业网站定制
开发工具【免费下载链接】return-youtube-dislikeChrome extension to return youtube dislikes项目地址https://gitcode.com/gh_mirrors/re/return-youtube-dislike点击查看免费下载本文基于 Return YouTube Dislike 开源仓库官方 FAQDocs/FAQtr.md编写系统讲解该浏览器扩展的数据来源、缓存机制、端到端工作流程、YouTube API 停用 dislike 后的应对策略以及 dislike 数量的核心估算公式并结合仓库源码Extensions/combined/src验证每个环节的实际实现。1. 数据从哪里来Google API 抓取数据的组合FAQ 明确指出扩展的数据来源是Google API 与抓取scraped数据的组合。在 Google 关闭 API 中的 dislike 计数之前项目会将当时所有可用的数据保存到自己的数据库DB中以便日后 Google 彻底停止提供该字段时用户依然能够查询到历史 dislike 数据。从源码可以印证这一架构。扩展的生产环境 API 地址定义在 config.js 中const PROD_API_URL https://returnyoutubedislikeapi.com; const DEV_API_URL PROD_API_URL;也就是说扩展本身并不直接访问 YouTube 的 dislike 接口而是通过自建的 API 服务中转该服务负责对接 YouTube API 并将结果落库缓存与归档。2. 为什么 dislike 数量不更新2–3 天的缓存机制FAQ 说明当前视频 dislike 数据会被缓存更新频率并不高大约每 2–3 天更新一次不会更频繁。项目团队也承认这并非理想状态正在研究如何提高更新频率。这一行为与 FAQ 描述的工作流程一致数据以缓存 归档两个目的写入数据库读多写少因此用户看到的数字天然存在 2–3 天的滞后。这也是理解本扩展数据新鲜度的关键前提——刚发布的视频或刚经历刷量的视频其显示值不会实时变化。3. 扩展的工作流程从视频 ID 到 dislike 显示FAQ 用一段话概括了完整流程拆解如下扩展获取当前观看视频的video ID通过自建 API 获取该视频的 dislike以及 views、likes 等其他字段若该视频是 API第一次被请求则后端会调用 YouTube API 拉取数据数据被存入数据库用于缓存约 2–3 天与归档两个目的数据返回给扩展扩展将 dislike 显示在页面上。源码中对应链路清晰可见。在 state.js 的setState中扩展从window.location.href解析 video ID然后请求let videoId getVideoId(window.location.href); let likeCount getLikeCountFromButton() || null; let response await fetch(getApiEndpoint(/votes?videoId${videoId}likeCount${likeCount || }), { method: GET, headers: { Accept: application/json }, })其中getApiEndpoint在 config.js 中实现本质是拼接https://returnyoutubedislikeapi.com与端点路径。video ID 的解析逻辑在 utils.js 的getVideoId中普通视频取 URL 的v查询参数Shorts 取路径片段Clips 则从页面meta标签读取。响应返回后processResponsestate.js会执行一系列渲染动作用numberFormat格式化 dislike 数字并写入按钮setDislikes可选地按统一格式重排 like 数字numberDisplayReformatLikes绘制 like/dislike 比例条createRateBar实现在 bar.js可选地为点赞/点踩按钮着色coloredThumbs。4. YouTube API 停止返回 dislike 之后会发生什么FAQ 明确说明后端将切换为多种数据源的组合方案包括归档的 dislike 统计数据数据库里保存的历史值由扩展用户数据外推extrapolate出的估算值基于观看/点赞比例view/like ratios的估算用于那些未被归档的视频以及过于陈旧outdated的 dislike 归档。这意味着项目在设计之初就把API 字段关闭当作既定事实来准备前端展示逻辑与具体数据源解耦后端可无缝切换到估算模式用户界面不会因此失效。5. dislike 数量是如何计算的用户投票外推公式FAQ 给出了核心算法RYD 使用其用户群即扩展用户的投票来外推extrapolate真实的 dislike 数量。分两种情况情况一视频在 API 关闭之后上传此时没有可用的历史真实数据计算公式为$$\textup{RYD Dislike Count} \left( \frac{\textup{RYD Users Dislike Count}}{\textup{RYD Users Like Count}} \right) \times \textup{Public Like Count}$$即用RYD 用户群中的 dislike 数 / RYD 用户群中的 like 数得到比例再乘以页面上公开可见的 like 数从而还原出接近真实的 dislike 总数。其隐含假设是RYD 用户群体的点赞/点踩比例能代表全体 YouTube 观众的比例。情况二数据库中存在真实的 like/dislike 归档值如果数据库通过某种途径上传者提供或来自归档拿到了该视频的真实 like 与 dislike 数量则最终结果同时基于用户投票和归档值计算且归档值越陈旧对最终数字的影响力越低——即按时间衰减加权避免过期数据长期主导估算结果。6. 用户投票的上报链路源码印证FAQ 中的使用用户投票在代码中有完整落点。用户点击点赞/点踩按钮后events.js 的sendVote会向后台脚本发送消息getBrowser().runtime.sendMessage({ message: send_vote, vote: vote, videoId: getVideoId(window.location.href), });后台脚本 ryd.background.js 收到send_vote后若本地没有userId或未确认注册则先调用register()ryd.background.js——注册过程涉及向/puzzle/registration提交一个SHA-512 工作量证明PoW谜题的解solvePuzzleryd.background.js这是防 bot 刷票的第一道闸门向/interact/vote发送{ userId, videoId, value }若服务端返回 401说明注册失效会重新注册并重试服务端返回谜题时求解后再向/interact/confirmVote确认投票完成一次防刷校验。这些机制正是 FAQ 中使用用户投票外推得以成立的数据质量保障——只有过滤掉 bot 噪音用户比例估算才可能接近真实值。7. 隐私与安全只发送视频 IDFAQ 将隐私问题指向专门的 SECURITY-FAQtr.md英文版见 SECURITY-FAQ.md。要点包括不追踪浏览历史唯一发送的数据是视频 ID不附加任何额外 header不存储可识别信息不会收集你的评论、用户名、分享对象或任何额外元数据IP 处理未哈希的 IP 仅短暂驻留内存不落盘、不写日志数据库中保存的是哈希后的 IP用于防止数据库破坏vandalismdislike 的可信度项目采取防 bot 措施并持续改进但官方明确表示数字永远不可能 100% 精确是否采信由用户自行判断后端闭源原因项目说明后端暂不开源是为了避免伪安全感尤其是防垃圾/刷量逻辑属于需要保密的标准实践。英文 FAQ 全文可参考 Docs/FAQ.md其他语言版本见仓库 Docs 目录。小结Return YouTube Dislike 的核心设计可以用一句话概括以自建 API 为中转以数据库缓存与归档为底座以用户投票外推为算法以工作量证明防刷为保障。FAQ 中描述的Google API 抓取数据2–3 天缓存视频 ID 唯一传输比例外推公式等关键结论均能在 Extensions/combined/src 的源码中得到一一印证。理解这套链路有助于判断扩展显示数字的时效性与准确性边界也能为后续排查数字不更新数字偏差等问题提供依据。赞分享开发工具【免费下载链接】return-youtube-dislikeChrome extension to return youtube dislikes项目地址https://gitcode.com/gh_mirrors/re/return-youtube-dislike点击查看免费下载相关推荐Return YouTube Dislike 数据原理与工作机制详解从数据来源、缓存策略到踩数估算公式Return YouTube Dislike 数据原理与工作机制详解从数据来源、缓存策略到踩数估算公式 Return YouTube DislikeRYD开发工具Return YouTube Dislike 数据与统计原理解读官方 FAQ 中的 Dislike 数据来源、缓存机制与推算公式Return YouTube Dislike 数据与统计原理解读官方 FAQ 中的 Dislike 数据来源、缓存机制与推算公式 本篇技术指南以仓库内 Doc开发工具FastAPI 如何在 JSON 请求中用 val_json_bytes 验证 Base64 编码的 bytes 字段FastAPI 如何在 JSON 请求中用 val_json_bytes 验证 Base64 编码的 bytes 字段 如果你的 FastAPI 接口需要收发开发工具创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价