🔁
Youtubeの高評価動画を一旦全部削除したい。
YouTubeを長く使っていると、「いいね!」した動画のリストがかなり大きくなっていることないですか?
私はより、新しくパーソナライズされたYoutubeを使いたいと思い、全てのいいね(高評価)を削除したいと思いました。
でも、一括削除は提供されていないんです!!
そこで、スクリプトを用意して削除することにしました。
※注意:Youtubeの動画の規約でこのような自動化操作は禁止されている可能性があります。実行時には規約の確認をした方がいいかもしれません。
前提条件
言語を英語にしてください
高評価リストにアクセス
URL: https://www.youtube.com/playlist?list=LL
Developer Toolsを開きます
Windows/Linux: Ctrl + Shift + I
または 右クリックで「検証」ボタンを押し、"console"タブを開きます
Mac: Cmd + Option + I
をクリック または 右クリックで「調査」ボタンを押し、"console"タブを開きます
以下のJavaScriptコードを貼り付けて実行します
let num = 0;
async function processDropdownButtons() {
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
const buttons = document.querySelectorAll(
'ytd-menu-renderer yt-icon-button.dropdown-trigger:not([aria-hidden="true"])'
);
if (buttons.length <= 2) {
console.log("No dropdown buttons found.");
return;
}
console.log(`Found ${buttons.length} dropdown buttons.`);
for (let i = 2; i < buttons.length; i++) {
let position = i + num;
const button = buttons[position];
console.log("Clicking dropdown button..." + position);
console.log(button);
if (!button) {
console.log(buttons);
await delay(500);
break;
}
button.click();
await delay(500);
const removeButtons = document.querySelectorAll(
"tp-yt-paper-item.style-scope.ytd-menu-service-item-renderer"
);
let found = false;
for (const removeButton of removeButtons) {
const label = removeButton.querySelector("yt-formatted-string");
if (label && label.innerText.includes("Remove from Liked videos")) {
console.log('Clicking "Remove from Liked videos" button...');
removeButton.click();
found = true;
break;
}
}
if (!found) {
console.log('"Remove from Liked videos" button not found.');
}
await delay(1000);
}
num = num + buttons.length - 2;
console.log("All dropdown buttons processed.");
processDropdownButtons();
}
processDropdownButtons();
処理が止まる場合
高評価動画が多いと、スクリプトが止まったり、無限ループに陥る場合があります。
都度更新(リロード)して実行するか、「隠し動画を全て表示」してから実行してみてください。
その他制御可能だったらコメント頂けるとうれしいです!
ではでは~
Discussion