web-dev-qa-db-fra.com

Exclure / le site de la liste noire de façon permanente des résultats de recherche sur DuckDuckGo

En utilisant DuckDuckGo , il est possible de supprimer temporairement un site spécifique des résultats de la recherche en ajoutant -site:example.com à la requête de recherche.

Existe-t-il un moyen de bloquer/liste noire/exclure en permanence les sites Web indésirables des résultats de recherche? Je n'ai rien trouvé dans les paramètres DDG, mais peut-être y a-t-il un script Greasemonkey ou une extension Firefox qui pourrait faire l'affaire?

7
foerno

Avec n modèle standard de réécriture/redirection d’URL , vous pouvez utiliser un script utilisateur Greasemonkey/Tampermonkey/generic tel que:

// ==UserScript==
// @name        DuckDuckGo, Always add certain search parameters
// @match       *://*.duckduckgo.com/*
// @run-at      document-start
// @noframes
// @grant       none
// ==/UserScript==

//--- SET THIS NEXT VARIABLE TO TASTE.
var stickySrchTerm  = "-site:wikipedia.org";

var stckySrchEncdd  = encodeURIComponent (stickySrchTerm);
var oldUrlSearch    = location.search;

//--- Test that haven't already redirected.
if ( ! oldUrlSearch.includes (stckySrchEncdd) ) {
    //--- Our term must go in the `q=` portion of `location.search`.
    var srchParams  = oldUrlSearch.split ("&");
    for (var J = 0, L = srchParams.length;  J < L;  J++) {
        if (/^\??q=/.test (srchParams[J]) ) {
            srchParams[J] += "+" + stckySrchEncdd;
            break;
        }
    }
    var newUrlSearch    = srchParams.join ("&");
    var newURL          = location.protocol + "//"
                        + location.Host
                        + location.pathname
                        + newUrlSearch
                        + location.hash
                        ;
    /*-- replace() puts the good page in the history instead of the
        bad page.
    */
    location.replace (newURL);
}
1
Brock Adams