CTFするぞ

CTF以外のことも書くよ

Greasemonkeyで検索結果のフィルタリング

Googleの検索結果に役に立たない情報が多いので,不要な結果を除外するためのGreasemonkeyスクリプトを作りました. ご自由にお使いください. blacklistに除外したいキーワードを配列で指定すると,そのキーワードを含むサイトは破棄されます.

// ==UserScript==
// @name     google-censored
// @include  /^(http|https):\/\/www\.google\..+\/search.*/
// @version  1
// @grant    none
// ==/UserScript==

var blacklist = ['https://www.sejuku.net/', 'https://tap-biz.jp/', 'https://kirari-media.net/', 'http://www.geocities.jp/', 'http://pwn.hatenadiary.jp/', 'http://shimasyaro.hatenablog.com/',
                 'codeday.me', 'living-sun.com', 'tutorialmore.com', 'https://www.it-swarm-ja.tech/ja/', 'https://qastack.jp/', 'https://stackoverrun.com/ja/', 'cloud6.net'];

var elements = document.getElementsByClassName("g");

for (var i = 0; i < elements.length; i++) {
  var target = elements[i];
  for (var j = 0; j < 3; j++) {
    target = target.getElementsByTagName("div")[0];
    if (target == undefined) break;
  }
  if (target == undefined) continue;
  var href = target.firstElementChild.href;
  for (var j = 0; j < blacklist.length; j++) {
    if (href.indexOf(blacklist[j]) != -1) {
      var parent = elements[i].parentNode;
      div = document.createElement('div');
      html  = "<i>この検索結果はフィルターにより破棄されました.</i><br>";
      html += "<cite>" + href + "</cite><br><br>";
      div.innerHTML = html;
      parent.insertBefore(div, elements[i]);
      parent.removeChild(elements[i]);
      i--;
      break;
    }
  }
}

使用前

f:id:ptr-yudai:20181014155204p:plain

使用後

f:id:ptr-yudai:20181014155053p:plain