Я знаю, что это глупый вопрос, но я хочу, чтобы результаты поиска были намеренно неточными.

Извините, я не владею английским языком, поэтому я объясню, используя изображения ниже с сериалом Breaking Bad в качестве примера:

Используя знак (-), я могу исключить нежелательные результаты, но не хочу, чтобы другие пользователи узнали об этом

Любой сценарий и программное обеспечение, которые могут помочь мне достичь этого?

Править - я больше склоняюсь к Фиддлеру. Есть ли здесь гуру-фидлеры, которые могут мне помочь, возможно, я смогу (пожалуйста, скажите мне, если это противоречит правилам) нанять кого-нибудь.

@krowe - Я думаю, что путь Fiddler больше подходит для меня, но действительно большое спасибо за помощь мне.

2 ответа2

1

Это работа для TamperMonkey в Chrome (или Greasemonkey в Firefox). Примерно так должно это сделать:

// ==UserScript==
// @name       Tamper with Google Results
// @namespace  http://superuser.com/users/145045/krowe
// @version    0.1
// @description  This just modifies google results to exclude certain things.
// @match      http://*.google.com
// @match      https://*.google.com
// @copyright  2014+, KRowe
// ==/UserScript==


function GM_main () {
    window.onload = function () {
      var targ = window.location;
      if(targ && targ.href && targ.href.match('https?:\/\/www.google.com/.+#q=.+') && targ.href.search("/+-torrent/+-watch/+-download")==-1) {
        targ.href = targ.href +"+-torrent+-watch+-download";
      }
    };
}

//-- This is a standard-ish utility function:
function addJS_Node(text, s_URL, funcToRun, runOnLoad) {
    var D=document, scriptNode = D.createElement('script');
    if(runOnLoad) scriptNode.addEventListener("load", runOnLoad, false);
    scriptNode.type = "text/javascript";
    if(text) scriptNode.textContent = text;
    if(s_URL) scriptNode.src = s_URL;
    if(funcToRun) scriptNode.textContent = '(' + funcToRun.toString() + ')()';
    var targ = D.getElementsByTagName('head')[0] || D.body || D.documentElement;
    targ.appendChild(scriptNode);
}

addJS_Node (null, null, GM_main);

Это было проверено только в Chrome. Кроме того, это не работает везде. Например, если вы выполняете поиск со стартовой страницы вместо строки адреса, она не будет работать, поскольку событие загрузки страницы не запускается. Я не уверен, можно ли это исправить или нет.

Я ничего не сделал, чтобы скрыть происходящее. Я полагаю, что получить URL-адрес для отображения оригинальных результатов будет легко, если вы замените содержимое страницы на фрейм, а вместо перенаправления просто загрузите новую страницу в фрейм. Правильно настроить окно поиска будет немного сложнее, но в конце концов это также выполнимо. Уловка будет в том, чтобы использовать CSS, чтобы скрыть его, а затем сделать еще одно текстовое поле, которое будет видно. Тогда вам просто нужно добавить несколько обработчиков событий, чтобы синхронизировать реальное окно поиска с вашим поддельным окном поиска. Пользовательские сценарии также могут использоваться без расширений в Chrome, но у меня нет опыта в этом, потому что эти сценарии не должны быть совместимы с любым браузером, и это так. Если вы действительно хотите скрыть это, то, вероятно, вы тоже захотите это сделать. В противном случае расширение всегда будет видно любому, кто его ищет. Вы можете скрыть кнопку расширения, щелкнув по ней правой кнопкой мыши.

0

У Google есть расширение для Chrome, которое называется Personal Blocklist. Это не совсем то, что вы запрашивали (блокировка на основе ключевых слов), но позволяет блокировать появление определенных доменов в результатах поиска. Personal Blocklist Extension Preview Предварительный просмотр

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .