|
|
|
| Добрый день.
Спарсить морду получилось без проблем.
Парсю пр медведя страницу новостей http://президент.рф/новости - 6 pr.
Вот как это делает тоол бар гугля:
http://toolbarqueries.google.ru/tbr?features=Rank&sourceid=navclient-ff&client=navclient-auto-ff&googleip=O;212.188.7.30;197&iqrn=Q2oD&querytime=wN&orig=0nKzZ&swwk=428&ch=8dae8a6b6&q=info:http%3A%2F%2Fxn--d1abbgf6aiiy.xn--p1ai%2F%25D0%25BD%25D0%25BE%25D0%25B2%25D0%25BE%25D1%2581%25D1%2582%25D0%25B8
|
if(preg_match("#[а-я]#i", $url))
{
if(!$url1=$web->Url($url, 1, -1, -1, 1)) exit('0');
require('../idna_convert.class.php');
$idn=new idna_convert();
$url1=$idn->encode(iconv("CP1251", "UTF-8", $url1));
$url2=preg_replace("#^(http(s|)://).{0,}/(.{0,})#Ui", "$2", $url);
$url=iconv("CP1251", "UTF-8", $url1.urlencode(iconv("CP1251", "UTF-8", $url2)));
unset($idn);
}
$url="http://toolbarqueries.google.com/search?sourceid=navclient-ff&features=Rank&client=navclient-auto-ff&ch=8".getHash($url)."&q=info:".urlencode($url);[/PHP]
как получить это проклятый хэш? уже как не пытался и с кодировкой игрался и с url encode|decode.
Правильный хэш-код "8dae8a6b6" тот который у меня получаеться "8e1c6b0fa" ...
Ф-ции для получения кэша
[PHP]function getHash($value)
{
$hashSeed = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE.Yes, I'm talking to you, scammer.";
$intValue = 16909125;
for($i = 0; $i < strlen($value); $i++ )
{
$intValue ^= ord($hashSeed[$i % strlen($hashSeed)]) ^
ord($value[$i]);
$intValue = getShift($intValue, 23) | $intValue << 9;
}
return str_replace(' ', '',getU32($intValue));
}
function toHex8($num)
{
$vector = '0123456789abcdef';
return $vector[($num % 256) / 16] . $vector[$num % 16];
}
function getU32($num)
{
return toHex8(getShift($num, 24)) . toHex8(getShift($num, 16) & 255).
toHex8(getShift($num, 8) & 255) . toHex8($num & 255);
}
function getShift($a, $b)
{
$z = hexdec(80000000);
if($z & $a)
{
$a = ($a >> 1);$a &= (~$z);$a |= 0x40000000;$a = ($a >> ($b-1));
}
else $a = ($a >> $b);
return $a;
}
|
Помогите пожалуйста, уже пальцы болят проверять все возможные варианты. | |
|
|