Google 検索結果から指定したサイトを非表示にする
環境
- Firefox 3.5.2
- Greasemonkey 0.8.20090123.1
問題
Google 検索結果に意味がないページが出てきて邪魔。
解決方法
下記の Firefox Greasemonkey スクリプトを登録する。
filters に定義を追加することで、Google 検索結果に表示されなくなる。
// ==UserScript== // @name Google Search Filter // @namespace http://foldrr/google_search_filter // @include http://www.google.com/search?* // @include http://www.google.co.jp/search?* // ==/UserScript== (function() { var filters = [ "www*.atwiki.jp/mhp2g/?cmd=search&keyword=*", "www.smarter.co.jp", ]; filter(null); if(window.AutoPagerize){ window.AutoPagerize.addDocumentFilter(function(doc){ filter(doc); }); } function filter(doc){ doc = doc ? doc : document; var nodes = $X("//li", doc); var anchors = $X('//a[@class="l"]', doc); for(var i = 0, n = nodes.length; i < n; i++){ for(var fi = 0, fn = filters.length; fi < fn; fi++){ var f = filters[fi]; f = f.replace(/\./g, "\\."); f = f.replace(/\*/g, ".*"); f = f.replace(/\?/g, "\\?"); var re = new RegExp("^https?:\\/\\/" + f, "gi"); if(anchors[i].href.match(re)){ nodes[i].style.display = "none"; } } } } function $X(query, doc) { if(! doc){ doc = document; } var r = new Array(); var ns = doc.evaluate(query, doc, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null); for(var i = 0, n = ns.snapshotLength; i < n; i++){ r.push(ns.snapshotItem(i)); } return r; } })();