Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name youtube crappy videos remover from the recommendations
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description thanks to youtube for recommending crappy videos with ~10 views
- // @author NiceL
- // @match *://*.youtube.com/*
- // @icon https://www.google.com/s2/favicons?sz=64&domain=youtube.com
- // @grant none
- // ==/UserScript==
- // ---------------------------------------------------------------------------
- function ParseVideoViews(videoViews) {
- let viewCount = parseInt(videoViews.innerText.replace(/[^\d]/g, ''), 10);
- if (videoViews.innerText.includes("K")) {
- viewCount *= 1000;
- }
- else if (videoViews.innerText.includes("M")) {
- viewCount *= 1000000;
- }
- else if (videoViews.innerText.includes("B")) {
- viewCount *= 1000000000;
- }
- return viewCount;
- }
- function Update()
- {
- // don't set value too high or yt freaks out
- let minViewCount = 1000;
- let videosList;
- // delete videos from the main page
- videosList = document.getElementsByClassName("style-scope ytd-rich-item-renderer");
- for (let i = 0; i < videosList.length; i++)
- {
- if (videosList[i].id != "content") {
- continue;
- }
- let videoViews = videosList[i].getElementsByClassName("inline-metadata-item style-scope ytd-video-meta-block")[0];
- if (videoViews && ParseVideoViews(videoViews) < minViewCount) {
- videosList[i].parentElement.remove();
- }
- }
- // delete videos from the right side
- videosList = document.getElementsByClassName("style-scope ytd-compact-video-renderer");
- for (let i = 0; i < videosList.length; i++)
- {
- let videoViews = videosList[i].getElementsByClassName("inline-metadata-item style-scope ytd-video-meta-block")[0];
- if (videoViews && ParseVideoViews(videoViews) < minViewCount) {
- videosList[i].parentElement.remove();
- }
- }
- }
- // ---------------------------------------------------------------------------
- window.addEventListener("message", (event) => {
- Update();
- });
- window.addEventListener("load", (event) => {
- Update();
- });
- window.addEventListener("scrollend", (event) => {
- Update();
- });
Advertisement
Add Comment
Please, Sign In to add comment