Hledání nebezpečných obrázků
Google v zájmu ochrany puritánů nabízí tzv. bezpečné hledání – z výsledků odstraňuje „explicitní“ obrázky. Toto omezení jde vypnout, takže se zobrazují všechny obrázky, ale nepochopitelně chybí možnost zobrazovat jenom to „závadné“.
Jednoduchým PHP skriptem jde ale toto nepříjemné omezení odstranit:
<?php // skript očekává hledaný řetězec v kódování UTF-8 v parametru ?q= $root = "http://images.google.cz/images"; $self = "http://$_SERVER[SERVER_NAME]$_SERVER[PHP_SELF]"; $safe = file_get_contents("$root?q=" . urlencode($_GET["q"])); $all = file_get_contents("$root?q=" . urlencode($_GET["q"]) . "&safe=off"); preg_match_all('~,\\[".+"\\]~U', $safe, $matches); $unsafe = str_replace(str_replace("\\x26ie\\x3dUTF-8", "\\x26safe\\x3doff\\x26ie\\x3dUTF-8", $matches[0]), "", $all); $unsafe = str_replace("<head>", "<head><base href='$root'>", $unsafe); $unsafe = str_replace('action="/images"', 'action="' . htmlspecialchars($self) . '"', $unsafe); echo $unsafe; ?>
Kód stáhne obě verze dokumentů a z úplné odstraní to, co se nachází v omezené. Aby fungovaly relativní odkazy, tak doplní značku <base href="">
, a naopak přepíše cíl formuláře pro další vyhledávání zase zpátky.
Skript není zcela dokonalý, ale jako základ pro další úpravy posloužit může.
Diskuse
MArtin:
A víš, že robotické dotazy na Google jsou fuj fuj zakázané a vyroste ti bradavice?
dqd:
Klasický povedený apríl. Díky, pobavil jsem se!

ameeck:
Možná apríl, stejně ten skript ale funguje :P
ic:
Skript ale neočekává hledaný řetězec v kódování UTF-8 v parametru ?url= . Skript očekává hledaný řetězec v kódování UTF-8 v parametru ?q= .
Jinak takový 'zvrhlý vyhledavač' obrázků by se myslím uživil :-)
Jakub Vrána
:
Díky za upozornění, opravil jsem to.


Homer:
Skvělé, konečně první opravdu užitečný PHP skript. Funguje to naprosto dokonale.

Petr Konůpek:
Geniální myšlenka :D
david@grudl.com:
Zkusil jsem tím hledat "Jakub" a vypadly na mě dost strašlivé věci!

Andrews13:
jak se to dá použít?Tonda:
Dobrý den,jak mám dotyčný skript použít? To si mám vytvořit vlastní stránku kam mám skript vložit nebo mám skript vložit do prohlížeče do URL nebo co s ním mám dělat aby fungoval?
Diskuse je zrušena z důvodu spamu.

