Como faço para bloquear anúncios em startpage.com?

Como faço para bloquear anúncios em startpage.com?

Eu tentei o seguinte, não surtiu efeito:

startpage.com##[style*="background-color:#F5F9FF;"]

Alguma idéia de como resolver isso?

Para reproduzir: Vá parahttps://startpage.com/do/search- pesquise, por exemplo, por adblock. Você verá caixas azuis claras desagradáveis ​​​​na parte superior e inferior da página onde se lê "Anúncios relacionados ao adblock":

insira a descrição da imagem aqui

Isso ocorre com Iceweasel (Firefox 38.2.1) e Adblock Edge 2.1.9.1.


Se não for possível, quais sites seguros/que respeitam a privacidade e sem anúncios você recomenda como alternativa ao IxQuick e ao Startpage?

Responder1

Alguma idéia de como resolver isso?

Os anúncios em questão estão em uma div com ID “spon_links”.

<div id="spon_links">

Você pode usar umMacaco Greasescript para remover essas divs.


Solução 1

Isso é confirmado como funcionando no Firefox ao usar o bloqueador de anúncios uBlock Origin.

// ==UserScript==
// @name        startpage.com remove ads
// @namespace   startpage.com
// @description Removes ads from startpage.com before they are displayed.
// @include     https://startpage.com/*
// @include     https://*.startpage.com/*
// @run-at      document-start
// @version     2015-09-29
// @grant       GM_addStyle
// ==/UserScript==

GM_addStyle("div#spon_links { display: none !important}");

Solução 2

Não testado.

Substitua 'ads'por 'spon_links'no script de exemplo abaixo.

4.9. Removendo um elemento

Você pode usar Greasemonkey para remover pedaços inteiros de uma página de uma só vez, com a função removeChild.

Exemplo: remover uma barra lateral de anúncio

Isto pressupõe que existe um elemento cujo ID é "anúncios".

var adSidebar = document.getElementById('ads');
if (adSidebar) {
    adSidebar.parentNode.removeChild(adSidebar);
}

Remover um elemento removeChildtambém removerá todo o conteúdo dentro dele. Por exemplo, se você remover um <table>elemento, isso também removerá todas as células da tabela ( <td>elementos).

Fonte4.9. Removendo um elemento

Responder2

Atualmente adicionando:

startpage.com##.clicktrackedAd_jsà minha lista de filtros uBlock Orgin fez o trabalho. Nenhum resultado de pesquisa de anúncios aparece mais.

Responder3

Seguindo o aviso de @DavidPostill, olhei novamente para a estrutura da página. Parece que os anúncios de texto são movidos para fora div.spon_linksquando o Adblock Edge está ativado, o que de fato possui uma regra de filtragem para spon_links. Se isso é um mau comportamento do Adblock Edge ou alguma contra-ação do Startpage, não sei.

Existe uma solução mais simples do que adicionar um script Greasemonkey personalizado – simplesmente trocar o Adblock Edge pelo uBlock também resolveu o problema.


Após uma investigação mais aprofundada, os anúncios só desaparecem com o uBlock ativado quando o Adblock Edge é totalmente desativado ao mesmo tempo ("Desativar em todos os lugares"). Mesmo que eu desative apenas para o Startpage ("Desativar em startpage.com"), o site moverá os anúncios para fora do spon_linkscontêiner. Minha explicação é queDe alguma forma, o Startpage consegue acessar minhas preferências de complementos e verifica se o Adblock está geralmente ativado. Poderia ser tão desagradável?!


Usando a abordagem de Greasemonkey e David removeChild, criei a seguinte solução que ainda funciona quando o Adblock Edge está instalado. Parece que é preciso esperar até que a página carregue e brincar para evitar o bloqueio de anúncios, até que você possa finalmente localizar e excluir os elementos ofensivos:

// ==UserScript==
// @name        startpage/ixquick remove ads
// @namespace   startpage.com
// @description Removes ads from startpage/ixquick before they are displayed.
// @include     https://startpage.com/*
// @include     https://*.startpage.com/*
// @include     https://ixquick.com/*
// @include     https://*.ixquick.com/*
// @run-at      document-end
// @grant       none
// @version     2015-09-29
// ==/UserScript==

var fun = function() {
  var results = document.getElementById('bottom-result-container');
  if (results) {
    var ols = results.getElementsByTagName('ol');
    for (i = 0; i < ols.length; i++) {
      var ol = ols[i];
      var ps = ol.getElementsByTagName('p');
      for (j = 0; j < ps.length; j++) {
        var p = ps[j];
        if (p.className == 'head2') {
          var spans = p.getElementsByTagName('span');
          for (k = 0; k < spans.length; k++) {
            if (spans[k].innerHTML.contains("Ads related to")) {
              ol.innerHTML = '';
            }
          }
        }
      }
    }
  }
};
setTimeout(fun, 1);

(Desculpe, meu JavaScript está um pouco enferrujado, provavelmente mais fácil com jQuery.)

Responder4

No AdblockPro consegui bloquear a div adicionando esta regra:

startpage.com###sponsored_csa1

Usei o ABP Element Hiding Helper para selecionar o div pai para mim e aceitei sua regra padrão.

AdBlock Edge é um fork do ABP, então espero que uma regra funcione no ABE também. No entanto, a ABE tem sidointerrompidopor seu desenvolvedor, então você realmente deveria voltar para o ABP (e apenas desligar o recurso de anúncios aceitáveis) ou mudar para o uBlock.

O uBlock também pode ser a melhor escolha do ponto de vista técnico; é suposto ter uma carga de memória/CPU mais leve no FF do que no ABP. Também funciona totalmente com o próximoeletróliseatualização para Firefox que divide a interface de usuário e as guias de nível superior em processos separados e executa o último em configurações mais restritas, o que deve dificultar a exploração por autores de malware (o IE e o Chrome fazem isso há anos). Seu eta é potencialmente já no final do ano. (FF43/14 de dezembro tem sido a data prevista há algum tempo; se eles conseguirem, depende de quão bem a telemetria nas compilações alfa/beta parece e quão pequeno é o número de bugs abertos.)

informação relacionada