Odkaz výsledku vyhledávání v Google

hull

Odkaz výsledku vyhledávání v Google
« kdy: 28. 01. 2012, 20:04:20 »
Dobrý den,

cca před několik týdny  (možná měsíci) vyhledávač Google inovoval a nyní na jakýkoli dotaz např. "wikipedia" místo aby vrátil odkaz  http://cs.wikipedia.cz vrátí šílenost ve tvaru:

http://www.google.com/url?sa=t&rct=j&q=wikipedia&source=web&cd=1&ved=0CCwQFjAA&url=http%3A%2F%2Fcs.wikipedia.org%2F&ei=w0EkT7S7GdOJhQecr7nbBA&usg=AFQjCNE7DgC5Q-r-BGXFqXQTSWSlSupUcg

Pod tímto odkazem se nachází ještě zeleně ovšem jako text (ne jako odkaz): cs.wikipedia.org/

Výsledek toho celého je, že se nejdříve čeká na odezvu googlu a potom následuje redirect na správnou adresu. Mám velmi pomalé připojení (gprs 30kbps) a tato novinka načítání stránek ještě velmi zpomaluje. Potřeboval bych tedy vyřešit, abych mohl odkazy otevírat přímo. Chtěl jsem se zeptat, jestli někdo už neřešil podobný problém.
Mě prakticky napadlo to řešit buď na úrovni proxy serveru (používám squid), který by přímo ty odkazy přepisoval anebo nějakým pluginem do prohlížeče, který by umožňoval kliknout na text ačkoli to není odkaz a ten otevřít (třeba při držení nějaké další klávesy shift, ctrl apod.)
« Poslední změna: 29. 01. 2012, 10:59:30 od Petr Krčmář »


nazir

  • ***
  • 110
  • Veni, vidi, discessi.
    • Zobrazit profil
    • hic sunt elephanti
Re:Přepsání odkazu výsledku vyhledávání v Google
« Odpověď #1 kdy: 28. 01. 2012, 20:10:49 »
Můžete si ten redirect likvidovat ručně bookmarkletem:
Kód: [Vybrat]
javascript:(function(){var%20k,x,t,i,j,p;%20for(k=0;x=document.links[k];k++){t=x.href.replace(/[%]3A/ig,':').replace(/[%]2f/ig,'/');i=t.lastIndexOf('http');if(i>0){%20t=t.substring(i);%20j=t.indexOf('&');%20if(j>0)t=t.substring(0,j);%20p=/https?\:\/\/[^\s]*[^.,;'%22>\s\)\]]/.exec(unescape(t));%20if(p)%20x.href=p[0];%20}%20else%20if%20(x.onmouseover&&x.onmouseout){x.onmouseover();%20if%20(window.status%20&&%20window.status.indexOf('://')!=-1)x.href=window.status;%20x.onmouseout();%20}%20x.onmouseover=null;%20x.onmouseout=null;%20}})();

hull

Re:Odkaz výsledku vyhledávání v Google
« Odpověď #2 kdy: 19. 02. 2012, 19:53:38 »
Tak řešení s bookmarkletem jsem nepochopil. Pokud by měl ještě někdo zájem, tak jsem to vyřešil, aby přesměrovával už squid.

1. /etc/squid/squid.conf
Kód: [Vybrat]
url_rewrite_program /etc/squid/redirector.pl

2. /etc/squid/redirector.pl
Kód: [Vybrat]
#! /usr/bin/perl
use URI::Escape;
$|=1;
while (<STDIN>) {
        s@%25@%@g;
        s@\Ahttp://[w]*.?google\.com/url\?sa=t&.*&url=(.*)&ei.*\Z@"301:".uri_unescape($1)@e;
        s@http://[w]*.?googl\.cz@301:http://www.google.cz@;
        print STDOUT;
}