YouTube で既知の悪いチャンネルからの動画結果を非表示にしたいと考えています。それほど難しいものではないはずです。動画アイテムには、主に の 2 つのバリエーションがあります。動画を検索する場合はspan
大きい、関連動画列を表示する場合は.result-item
小さいです。.video-list-item
どちらも、内部.yt-user-name
要素内にチャネル所有者がリストされています。
Chrome 20 の開発者コンソールをいじってみると、次のことが期待どおりに機能することがわかりました。
- 検索結果のある任意のページから開始し、jQuery を挿入する
- で最初の検索結果を選択
a = $(".video-list-item, .result-item")[0]
- ユーザー名を抽出し、小文字に変換します
$(a).find(".yt-user-name").text().toLowerCase()
したがって、私は次のことを試しました:
badChannels = ["vaivecorporation"] #fill in as desired
$(jQuery.grep($(".video-list-item, .result-item"),
function(item, number){
username = $(item).find(".yt-username").text().toLowerCase();
console.debug(username);
return badChannels.indexOf(username) != -1;
})).css('opacity', 0.1);
完璧ですべてのことを行う膨大な量の jQuery にもかかわらず、ここに最新の jQueryと上記を挿入すると、単純に 24 個の改行が得られます。
私は何を間違っていますか?