show me the money
С нами с 18.02.03
Сообщения: 1598
Рейтинг: 263
|
Добавлено: 31/12/06 в 10:30 |
Можно ли определять скриптом PR страницы?
Какие для этого есть способы?
|
|
|
|
programmer
С нами с 08.12.02
Сообщения: 7614
Рейтинг: 5760
|
Добавлено: 31/12/06 в 11:19 |
Код: | <?
// PHP Google PageRank Calculator Script //////////////////////////////////
define('GOOGLE_MAGIC', 0xE6359A60);
//unsigned shift right
function zeroFill($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;
}
function mix($a,$b,$c) {
$a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
$b -= $c; $b -= $a; $b ^= ($a<<8);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
$b -= $c; $b -= $a; $b ^= ($a<<16);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,3));
$b -= $c; $b -= $a; $b ^= ($a<<10);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,15));
return array($a,$b,$c);
}
function GoogleCH($url, $length=null, $init=GOOGLE_MAGIC) {
if(is_null($length)) {
$length = sizeof($url);
}
$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;
while($len >= 12) {
$a += ($url[$k+0] +($url[$k+1]<<8) +($url[$k+2]<<16) +($url[$k+3]<<24));
$b += ($url[$k+4] +($url[$k+5]<<8) +($url[$k+6]<<16) +($url[$k+7]<<24));
$c += ($url[$k+8] +($url[$k+9]<<8) +($url[$k+10]<<16)+($url[$k+11]<<24));
$mix = mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}
$c += $length;
switch($len)
{
case 11: $c+=($url[$k+10]<<24);
case 10: $c+=($url[$k+9]<<16);
case 9 : $c+=($url[$k+8]<<8);
case 8 : $b+=($url[$k+7]<<24);
case 7 : $b+=($url[$k+6]<<16);
case 6 : $b+=($url[$k+5]<<8);
case 5 : $b+=($url[$k+4]);
case 4 : $a+=($url[$k+3]<<24);
case 3 : $a+=($url[$k+2]<<16);
case 2 : $a+=($url[$k+1]<<8);
case 1 : $a+=($url[$k+0]);
}
$mix = mix($a,$b,$c);
return $mix[2];
}
//converts a string into an array of integers containing the numeric value of the char
function strord($string) {
for($i=0;$i<strlen($string);$i++) {
$result[$i] = ord($string{$i});
}
return $result;
}
function getrank($url) {
$url = 'info:'.$url;
$ch = GoogleCH(strord($url));
$file = "http://www.google.com/search?client=navclient-auto&ch=6$ch&features=Rank&q=$url";
$data = file($file);
$rankarray = explode (':', $data[2]);
$rank = $rankarray[2];
return $rank;
}
?>
<?
$url = "http://domain.com";
echo getrank($url); ?>
|
|
|
|
|
С нами с 19.07.06
Сообщения: 252
Рейтинг: 346
|
Добавлено: 31/12/06 в 11:30 |
упс уже ответили
|
|
|
|
С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362
|
Добавлено: 31/12/06 в 12:33 |
смотри еще версию php и архитектуру процессора сервера , т.к. скрипт выше невсегда считает верно контрольную сумму.
|
|
|
|
show me the money
С нами с 18.02.03
Сообщения: 1598
Рейтинг: 263
|
Добавлено: 31/12/06 в 12:42 |
Слишком как-то всё сложно. Это не шутка? Зачем возиться с шестнадцатеричными переменными.
На чём основан данный алгоритм?
|
|
|
|
С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362
|
Добавлено: 31/12/06 в 13:00 |
Цитата: | На чём основан данный алгоритм? |
спроси у гугля.
|
|
|
|
ГДЕ, СУКА, САЙНЫ?
С нами с 17.03.06
Сообщения: 3994
Рейтинг: 3366
|
Добавлено: 31/12/06 в 13:15 |
xreload писал: | смотри еще версию php и архитектуру процессора сервера , т.к. скрипт выше невсегда считает верно контрольную сумму. |
а поподробнее можно?
|
|
|
|
С нами с 21.06.05
Сообщения: 1788
Рейтинг: 1579
|
Добавлено: 31/12/06 в 15:35 |
pirate писал: | а поподробнее можно? |
если проц 64 бита нужно править скрипт. в своё время долго трахались.
|
|
|
|
php наше всё :)
С нами с 26.07.04
Сообщения: 814
Рейтинг: 447
|
Добавлено: 31/12/06 в 15:35 |
xreload писал: | смотри еще версию php и архитектуру процессора сервера , т.к. скрипт выше невсегда считает верно контрольную сумму. |
+1 не везде работает. Именно на контрольной сумме глючит..
|
|
|
|
php наше всё :)
С нами с 26.07.04
Сообщения: 814
Рейтинг: 447
|
Добавлено: 31/12/06 в 15:36 |
clever писал: | Слишком как-то всё сложно. Это не шутка? Зачем возиться с шестнадцатеричными переменными. |
Не шутка :) Возиться - для подсчета CheckSum.. Как только его подсчитали, пейджранк ретривится в пару строк.
|
|
|
|
С нами с 03.07.05
Сообщения: 474
Рейтинг: 231
|
Добавлено: 01/01/07 в 04:55 |
xreload писал: | смотри еще версию php и архитектуру процессора сервера , т.к. скрипт выше невсегда считает верно контрольную сумму. |
thanxxx! блин, а я то думал что уже сменили алгоритм нах.
ЗЫ: под 64разрядный есть алгоритм у тя?
|
|
|
|