Guest User

youtube crappy videos remover from the recommendations fix

a guest
Nov 7th, 2023
329
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // ==UserScript==
  2. // @name         youtube crappy videos remover from the recommendations
  3. // @namespace    http://tampermonkey.net/
  4. // @version      0.1
  5. // @description  thanks to youtube for recommending crappy videos with ~10 views
  6. // @author       NiceL
  7. // @match        *://*.youtube.com/*
  8. // @icon         https://www.google.com/s2/favicons?sz=64&domain=youtube.com
  9. // @grant        none
  10. // ==/UserScript==
  11.  
  12. // ---------------------------------------------------------------------------
  13.  
  14. function ParseVideoViews(videoViews) {
  15.  
  16.     let viewCount = parseInt(videoViews.innerText.replace(/[^\d]/g, ''), 10);
  17.  
  18.     if (videoViews.innerText.includes("K")) {
  19.         viewCount *= 1000;
  20.     }
  21.     else if (videoViews.innerText.includes("M")) {
  22.         viewCount *= 1000000;
  23.     }
  24.     else if (videoViews.innerText.includes("B")) {
  25.         viewCount *= 1000000000;
  26.     }
  27.     return viewCount;
  28. }
  29.  
  30. function Update()
  31. {
  32.  
  33.     // don't set value too high or yt freaks out
  34.     let minViewCount = 1000;
  35.     let videosList;
  36.  
  37.     // delete videos from the main page
  38.     videosList = document.getElementsByClassName("style-scope ytd-rich-item-renderer");
  39.     for (let i = 0; i < videosList.length; i++)
  40.     {
  41.         if (videosList[i].id != "content") {
  42.             continue;
  43.         }
  44.  
  45.         let videoViews = videosList[i].getElementsByClassName("inline-metadata-item style-scope ytd-video-meta-block")[0];
  46.  
  47.         if (videoViews && ParseVideoViews(videoViews) < minViewCount) {
  48.             videosList[i].parentElement.remove();
  49.         }
  50.     }
  51.  
  52.     // delete videos from the right side
  53.     videosList = document.getElementsByClassName("style-scope ytd-compact-video-renderer");
  54.     for (let i = 0; i < videosList.length; i++)
  55.     {
  56.         let videoViews = videosList[i].getElementsByClassName("inline-metadata-item style-scope ytd-video-meta-block")[0];
  57.  
  58.         if (videoViews && ParseVideoViews(videoViews) < minViewCount) {
  59.             videosList[i].parentElement.remove();
  60.         }
  61.     }
  62. }
  63.  
  64. // ---------------------------------------------------------------------------
  65.  
  66. window.addEventListener("message", (event) => {
  67.     Update();
  68. });
  69.  
  70. window.addEventListener("load", (event) => {
  71.     Update();
  72. });
  73.  
  74. window.addEventListener("scrollend", (event) => {
  75.     Update();
  76. });
Advertisement
Add Comment
Please, Sign In to add comment